我想返回已經糾正的opencv中黑白圖像的值。我使用.type()
來了解如何解決image.at<>(point())
。它給了0
所以我把image.at<int>()
。訪問圖像像素值
但它給出的所有數字都是數百萬的數量,而不是我所期望的;介於0
和255
之間的內容。
我用.channel()
來檢查通道的數量;這是1,所以我認爲應該沒問題。
我一直在做什麼錯了?
我想返回已經糾正的opencv中黑白圖像的值。我使用.type()
來了解如何解決image.at<>(point())
。它給了0
所以我把image.at<int>()
。訪問圖像像素值
但它給出的所有數字都是數百萬的數量,而不是我所期望的;介於0
和255
之間的內容。
我用.channel()
來檢查通道的數量;這是1,所以我認爲應該沒問題。
我一直在做什麼錯了?
也許你應該嘗試將它標準化爲0到255之間的值嗎?使用cv::normalize,alpha = 0和beta = 255。
「它給了我0,所以我放入image.at<int>()
。」
類型== 0 < - >這是uchar,不是int。
嘗試:
mat.at<uchar>(row,col);
代替
如果你的數據是unsigned char
那麼指數像素作爲img.at<uchar>(row,col)
感謝。我把它歸類爲漂浮物,因爲uchar似乎不適合我;規範化(圖像,dst,0,255,NORM_MINMAX,CV_32F)。 – Moeltiepas