0

以下は、2 つの画像の幅、高さ、および BGR の値を提供するコードです。しかし、問題は、最初の画像を閉じるまで、2 番目の画像が表示されないことです。すべてのピクセル値。

1 . #include <cv.h>
#include<iostream>
#include <cxcore.h>
#include <highgui.h>

using namespace std;

int main(int argc, char** argv[])
{
    int  width,height;
     int i=0,j=0,k=3,l=3;

        IplImage *img1 = cvLoadImage("E:/images.jpg");
        cvNamedWindow("Image1:",1);
        cvShowImage("Image1:",img1);
        cout << "Width:" <<  img1->width << endl;
        cout << "Height:" <<  img1->height << endl;
        CvScalar s;
        s=cvGet2D(img1,i,j); // get the (i,j) pixel value
        printf("B=%f, G=%f, R=%f\n",s.val[0],s.val[1],s.val[2]);
        cvWaitKey();
        cvDestroyWindow("Image1:");

        IplImage *img2 = cvLoadImage("C:/Users/Public/Pictures/Sample Pictures/Tulips.jpg");
        cvNamedWindow("Image2:",2);
        cvShowImage("Image2:",img2);
        cout << "Width:" <<  img2->width << endl;
        cout << "Height:" <<  img2->height << endl;

        s=cvGet2D(img2,k,l); // get the (k,l) pixel value
        printf("B1=%f, G1=%f, R1=%f\n",s.val[0],s.val[1],s.val[2]);
        cvWaitKey();
        cvDestroyWindow("Image2:");

        cvReleaseImage(&img1);
        cvReleaseImage(&img2);

        return 0;
}
4

1 に答える 1

1

問題はcvWaitKey() 試してみることです:

    IplImage *img1 = cvLoadImage("E:/images.jpg");
    cvNamedWindow("Image1:",1);
    cvShowImage("Image1:",img1);
    cout << "Width:" <<  img1->width << endl;
    cout << "Height:" <<  img1->height << endl;
    CvScalar s;
    s=cvGet2D(img1,i,j); // get the (i,j) pixel value
    printf("B=%f, G=%f, R=%f\n",s.val[0],s.val[1],s.val[2]);



    IplImage *img2 = cvLoadImage("C:/Users/Public/Pictures/Sample Pictures/Tulips.jpg");
    cvNamedWindow("Image2:",2);
    cvShowImage("Image2:",img2);
    cout << "Width:" <<  img2->width << endl;
    cout << "Height:" <<  img2->height << endl;

    s=cvGet2D(img2,k,l); // get the (k,l) pixel value
    printf("B1=%f, G1=%f, R1=%f\n",s.val[0],s.val[1],s.val[2]);


    cvWaitKey();
    cvDestroyWindow("Image1:");
    cvDestroyWindow("Image2:");
    cvReleaseImage(&img1);
    cvReleaseImage(&img2);
于 2013-03-04T06:10:48.467 に答える