-1

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;

しかし、私は空白のコンソールを手に入れています.私はどこに行くのですか???

4

3 に答える 3

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;
}
于 2013-03-16T08:17:12.367 に答える
0

に画像をロードし、データが保存されていないimg1要素にアクセスしようとしました。imgしたがってimg.rows、 とimg.colsは両方とも 0 であり、何も得られません。

于 2013-03-16T06:52:04.767 に答える
0

これを試して

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

あなたのプログラムでは img は初期化されていません。だからあなたは空白の画面を得ました

于 2013-03-16T06:53:56.233 に答える