2013-05-25 79 views
0

我想返回已經糾正的opencv中黑白圖像的值。我使用.type()來了解如何解決image.at<>(point())。它給了0所以我把image.at<int>()訪問圖像像素值

但它給出的所有數字都是數百萬的數量,而不是我所期望的;介於0255之間的內容。

我用.channel()來檢查通道的數量;這是1,所以我認爲應該沒問題。

我一直在做什麼錯了?

回答

0

也許你應該嘗試將它標準化爲0到255之間的值嗎?使用cv::normalize,alpha = 0和beta = 255。

2

「它給了我0,所以我放入image.at<int>()。」

類型== 0 < - >這是uchar,不是int。

嘗試:

mat.at<uchar>(row,col); 

代替

1

如果你的數據是unsigned char那麼指數像素作爲img.at<uchar>(row,col)

+0

感謝。我把它歸類爲漂浮物,因爲uchar似乎不適合我;規範化(圖像,dst,0,255,NORM_MINMAX,CV_32F)。 – Moeltiepas