您的位置:首页 > 运维架构

opencv入门学习(将三张图像放在一起)

2013-11-26 22:00 375 查看
[cpp] view
plaincopy

*****************/  

#include <cv.h>  

#include <highgui.h>  

int main()  

{  

    char* filePath ="D:/图片库/Lena.jpg";  

    IplImage* srcImg = cvLoadImage(filePath);  

    IplImage* greyImg = cvCreateImage(cvGetSize(srcImg), srcImg->depth, 1);  

    IplImage* cannyImg = cvCreateImage(cvGetSize(greyImg), srcImg->depth, 1);  

    CvSize dstSize;  

    dstSize.width = srcImg->width *3.0;  

    dstSize.height = srcImg->height;  

    IplImage* dstImg = cvCreateImage(dstSize, srcImg->depth, srcImg->nChannels);  

    cvZero(dstImg);  

    cvConvertImage(srcImg, greyImg);      

    cvCanny(greyImg, cannyImg, 150, 100);  

    //----------------------------------  

    //载入原图像到目标图像  

    cvSetImageROI(dstImg, cvRect(0, 0, srcImg->width, srcImg->height));  

    cvCopy(srcImg, dstImg);  

     cvResetImageROI(dstImg);  

    //载入灰度图像到目标图像  

    cvSetImageROI(dstImg, cvRect(srcImg->width, 0, srcImg->width, srcImg->height));  

    dstImg->nChannels =1;  

    cvCopy(greyImg, dstImg);  

    cvResetImageROI(dstImg);  

    //载入边缘检测图像到目标图像  

    cvSetImageROI(dstImg, cvRect((srcImg->width) *2.0, 0, srcImg->width, srcImg->height));  

    dstImg->nChannels =1;  

    cvCopy(cannyImg, dstImg);  

    cvResetImageROI(dstImg);  

    //---------------------------------------  

    cvNamedWindow("dstImg");  

    cvShowImage("dstImg", dstImg);  

    cvWaitKey(0);  

    cvReleaseImage(&srcImg);  

    cvReleaseImage(&greyImg);  

    cvReleaseImage(&cannyImg);  

    cvReleaseImage(&dstImg);  

    cvDestroyWindow("dstImg");  

    return0;  

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opencv 图像处理