2012-06-11 54 views
1

我計算的灰度圖像的像素值的總和,並存儲在「長」的總和, 當我嘗試這個值與另一個長如下:標長轉換

if (sum == Original_Sum[0]) 
    sum1++; 
//original sum is array of type long 

我得到此錯誤:

error C2440: 'initializing' : cannot convert from 'cv::Scalar (__cdecl *)(cv::InputArray)' to 'double'

鑄造或.val[0]沒有工作,任何建議? 在此先感謝...

+4

帖子多一些相關的代碼。什麼是.val [0]'?什麼是'Original_Sum [0]'? – dirkgently

+1

這些數據類型:'sum'和'Original_Sum [0]'幾乎可以肯定不是你所建議的'long'類型。錯誤信息和你提到的'.val [0]'都證實了這一點。請張貼聲明/定義。 –

+0

我將它們定義爲long,但sum的結果被視爲vector。我不知道爲什麼? – Storm2012

回答

0

這是你如何聲明這些變量?

long Original_Sum[1]; 
long sum; 
long sum1; 

因爲如果他們宣佈這個樣子,那麼就沒有什麼不對您的代碼,據我所看到

而且,.VAL不是long類型的成員