-1

我很想知道,如果有任何圖像處理/計算機視覺的框架存在,讓您通過動態創建的過濾器鏈/過濾塊(類似於Simulink模塊中創建一個過濾器管線MATLAB)。計算機視覺/圖像處理構架

這個想法主要是受RoboRealm的啓發,但我希望主要在C/C++中實現它,並且能夠以圖形方式構建圖像處理管道。我熟悉一個這樣的框架,Camunits,我將用它作爲構建這個圖形過濾器框架的基礎,但是請讓我知道你是否知道任何。 CamUnits與LCM(輕量級通信和編組)相結合,可以處理大部分現在我想避免的編組和網絡需求。此外,CamUnits還可以很好地與LCM中的日誌記錄框架集成在一起,並且擁有一系列用於圖像採集(火線相機,自動增益/曝光校正,快速拆除等)的工具。

簡而言之,我希望能夠建立一個圖形界面的功能,讓您動態地創建圖像處理流水線(如果需要,可以進行線程化),從而有助於圖像處理/計算機視覺算法的快速原型設計。我也很想知道是否會對這種類型的框架有興趣(模塊化,快速/高度可重新配置)。

+0

微軟的DirectShow,特別是FilterGraph和相關的插件完全用於視頻和音頻解碼,混合和多路分解,但原理可能已被用於圖像處理流水線。從過去的經驗來看,在C++中這不是一個明智的做法,你只能得到很少的好處,並且不得不承受太多的輸入約束。選擇一個工具集/語言/庫,並提供適當的支持,以構建無類型的過濾器體系結構和足夠的語法糖,從而解決實際問題。 – 2012-07-26 12:57:11

+0

正如其他人在這裏所說的那樣,有很多框架可以做到這一點(事實上,我見過的大多數圖像處理軟件都可以用這種方式來裝配)。 Mac和iOS上的Apple Core Image框架是圍繞這種結構構建的,它的Quartz Composer工具甚至可以讓您執行過濾器,輸入和輸出的圖形拖放連接。我沿着這些路線寫了自己的開源iOS框架,模塊化過濾器或處理操作可以鏈接在一起,並可根據需要進行交換。我甚至知道有人爲此構建了一個用於快速建立過濾鏈原型的GUI。 – 2012-07-26 19:35:46

回答

2

這是(幾乎)在圖像處理應用動物園裏的最老的想法:「廚房水槽」 GUI的應用程序,其中過濾器是框,圖像被輸入到左側,數據流通過框,圖像出來向右。

我記得第一手使用的最古老的是Khoros(這可能會告訴你我多大了),但我幾乎肯定施樂的人有類似的方式。 最近,大量的圖像合成應用程序使用了類似的UI方法,最顯着的是Shake

根據我的經驗,他們是算法的探索是非常有用的,但我從來沒有見過一個在GUI沒有在做事情時的問題開始變得複雜的方式獲得。 「視覺計算」的呼籲得到一個解決方案的大致輪廓,但爲什麼難問題最好在理性和使用公式傳達的理由 - 這是一個更簡潔的符號,與在一個屏幕上繪製無用的氣泡和線條的hundres分配。

在生產實踐中,這些應用程序的實用性最終與其輸出腳本功能相關聯:當您找到問題的解決方案時,鼠標拖動很快就會很疲憊,並且您想將它應用於一大堆圖像。然後,應用程序更好地有一種方式來輸出代碼實現圖像轉換的方式,很容易與其他代碼庫進行交互。

-3

我們有沿着這些線路屬於一個產品,幾乎準備好發佈(「PrecisionImage.NET」在www.CoreOptical.com)。它不是C++,它沒有用於拖放過濾器鏈的圖形用戶界面,但它非常靈活,功能強大且易於使用。它是一個「純.NET」程序集,並與WPF中的WIC成像子系統連接。目前,它廣泛地使用線程來自動利用主機中的所有CPU功率,並在接下來的一兩個月內爲CUDA設備添加GPU處理子系統。這仍然是一個「Pure .NET」解決方案,即使使用GPU也沒有非託管組件(GPU代碼被拼寫成與GPU驅動程序直接交互的PTX代碼),因此您可以使用任何CLS的.NET語言兼容包括C#/ VB/F#。但是,目前我們只有C#中的例子。基本上它是一個類庫,允許組裝加工鏈而不會產生離散化錯誤。我們在網上有幾個例子來說明這是如何完成的。

-1

Cassandra是一種可視化編程環境,可用於對算法進行建模,使您可以輕鬆開發圖像處理和信號處理算法。諸如OpenCV和IPP函數等庫的廣泛集成使Cassandra成爲一個高效的開發平臺,並且使您能夠比傳統編程語言更快地實現解決方案。

您可以將Cassandra用於各種應用,包括信號處理,圖像和視頻處理等。 G。基於照相機的駕駛員輔助系統等。許多科學機構使用Cassandra,這是用C++進行圖像處理的可視化編程環境。