2009-05-28 49 views
0

我正在試圖查找/寫入將執行與imlincomb()相同的操作的函數。然而,如果不使用任何除英特爾性能原語庫之外的Matlab API函數,我在C++中找到這些函數時遇到問題,並且我不想爲它購買許可證,除非我的應用程序真的需要利用它。什麼是實施它的簡單方法,或者如果有任何標準功能使工作變得更容易?C++中的圖像算術函數

在此先感謝。

回答

2

在任何標準的C++包中都沒有這類排序。您可能可以在LAPACK中使用某些內容,但我認爲您最好自己寫。這是一個相當簡單的功能:每個輸出像素都是獨立的,並且僅依賴於相同座標處的輸入像素。在僞代碼:

for each row y in [0, height-1] 
    for each column x in [0, width-1] 
     for each color channel c in (R, G, B) 
      output[y][x][c] = 0 
      for each input i 
       output[y][x][c] += weight[i] * input[i][y][x][c] 

當然,確切的配方取決於你的圖像存儲究竟是如何上(三維陣列,二維數組或一維數組,小心你的尺寸的順序!)。

+0

圖像存儲在一個扁平的一維數組中,用哈希表映射。它最初存儲在5D陣列中,陣列的每個元素都是350 x 80像素的圖像片段。 – stanigator 2009-05-28 17:20:51