我想這個代碼通過這個代碼來計算我的二值圖像的像素值:如何讀取OpenCV中的像素值?
int main()
{
Mat img;
img=imread("/home/2b.jpeg", CV_LOAD_IMAGE_UNCHANGED);
namedWindow("win", WINDOW_AUTOSIZE);
imshow("win", img);
for(int i=0; i< img.rows ;i++)
{
for(int j=0; j< img.cols ; j++)
{
cout<<setw(10)<<img.at<int>(i,j);
}
cout<<endl<<endl<<endl;
}
waitKey(0);
return 0;
}
,但我得到3種類型的值:0,-1和一些大的不同號碼,如(24342234,1324244242,等等)
什麼問題?我在繪畫程序中繪製了一條黑線,並保存圖像,或從互聯網上下載二進制圖像,但得到的結果相同!
我想當我使用二進制圖像我必須得到0爲白色像素和255爲黑色的。
謝謝!它的工作,但我想知道爲什麼當我選擇CV_LOAD_IMAGE_(其他選項),它不工作? – user3486308
@ user3486308對於灰度圖像,它應該適用於'CV_IMAGE_GRAYSCALE'和'CV_LOAD_IMAGE_UNCHANGED'(<0,即加載圖像原樣(包括alpha通道,如果存在的話) – herohuyongtao
謝謝herohuyongtao。 – user3486308