我希望在openCV中访问和显示图像的元素,我使用行和列索引访问各个元素,并尝试在控制台上以整数形式显示它们,这是我的代码:
int v=0;
IplImage* img1 = cvLoadImage("image3.jpg",0);
Mat img;
for( int i = 0; i < img.rows; i++)
{
for( int j = 0; j < img.cols; j++ )
{
v=img.at<uchar>(i,j);
cout<<"Value"<<" "<<v;
}
cout<<endl;
}
return 0;
但我得到一个空白的控制台...... 我要去哪里?
答案 0 :(得分:0)
您在img1
中加载了图片,并试图访问没有存储数据的img
元素。因此img.rows
和img.cols
都是0而你什么也得不到。
答案 1 :(得分:0)
试试这个
Mat img = imread("image3.jpg");
在您的程序中,img未初始化。所以你有空白的屏幕
答案 2 :(得分:0)
昨天我做了类似的事情:
IplImage* img = cvLoadImage("image3.jpg", 0);
for( int i = 0; i < img->height; i++)
{
//ptr - pointer to the first element of each row
char* ptr = (char*) (img->imageData + i*img->widthStep);
for( int j = 0; j < img->width; j++ )
{
char v = (char) ptr[j];
cout<< "Value" << " " << v;
}
cout << endl;
}