【发布时间】:2014-05-10 00:16:11
【问题描述】:
我正在尝试使用此代码通过此代码计算我的二进制图像像素值:
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。
【问题讨论】:
标签: c++ opencv image-processing pixel