Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在OpenCV中访问图像元素_C++_Opencv - Fatal编程技术网

C++ 在OpenCV中访问图像元素

C++ 在OpenCV中访问图像元素,c++,opencv,C++,Opencv,我希望在openCV中访问和显示图像的元素,我使用它们的行和列索引访问单个元素,并尝试在控制台上以整数的形式显示它们,下面是我的代码: int v=0; IplImage* img1 = cvLoadImage("image3.jpg",0); Mat img; for( int i = 0; i < img.rows; i++) {

我希望在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;
intv=0;
IplImage*img1=cvLoadImage(“image3.jpg”,0);
Mat-img;
对于(int i=0;i您可以将图像加载到
img1
中,并尝试访问未存储数据的
img
元素。因此
img.rows
img.cols
都是0,您将一无所获。

试试这个

Mat img = imread("image3.jpg");

在您的程序中,img未初始化。因此您昨天得到了一个空白屏幕。我做了如下操作:

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;
}
IplImage*img=cvLoadImage(“image3.jpg”,0);
对于(int i=0;iheight;i++)
{
//ptr-指向每行第一个元素的指针
char*ptr=(char*)(img->imageData+i*img->widthStep);
对于(int j=0;jwidth;j++)
{
char v=(char)ptr[j];

coutoooops,我的坏:)@Froyo和@Bibek subedit这不是语法错误,而是逻辑错误,所以OpenCV不会显示错误