获取图像的像素值



下面的代码提供了2张图片的宽度、高度和BGR值。但问题是,直到我关闭第一个图像,我看不到第二个图像。要做什么修改,以便我可以同时看到两个图像并获得所有像素值。

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=%fn",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=%fn",s.val[0],s.val[1],s.val[2]);
        cvWaitKey();
        cvDestroyWindow("Image2:");
        cvReleaseImage(&img1);
        cvReleaseImage(&img2);
        return 0;
}

问题出在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=%fn",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=%fn",s.val[0],s.val[1],s.val[2]);

    cvWaitKey();
    cvDestroyWindow("Image1:");
    cvDestroyWindow("Image2:");
    cvReleaseImage(&img1);
    cvReleaseImage(&img2);

相关内容

  • 没有找到相关文章

最新更新