《学习OpenCV》练习5-5
2014-02-15 20:01
344 查看
#include "cv.h" #include "highgui.h" #include "stdio.h" //***************************************************** //主函数 //***************************************************** int main() { /*载入源图像*/ IplImage* src1 = cvLoadImage( "homework_1.jpg" ); IplImage* src2 = cvLoadImage( "homework_2.jpg" ); /*判断是否出错*/ if (!src1 || !src2) { if (!src1) printf( "failed to load %d.\n", "homework_1.jpg" ); if (!src2) printf( "failed to load %d.\n", "homework_2.jpg" ); return -1; } /*创建图像空间*/ IplImage* add12 = cvCreateImage( cvGetSize(src1), IPL_DEPTH_8U, 3 ); IplImage* differ12 = cvCreateImage( cvGetSize(src1), IPL_DEPTH_8U, 3 ); IplImage* gray = cvCreateImage( cvGetSize(differ12), IPL_DEPTH_8U, 1 ); IplImage* thresh = cvCreateImage( cvGetSize(differ12), IPL_DEPTH_8U, 1 ); IplImage* open = cvCreateImage( cvGetSize(differ12), IPL_DEPTH_8U, 1 ); /*创建并命名窗口*/ cvNamedWindow( "add12", CV_WINDOW_NORMAL ); cvNamedWindow( "differ12", CV_WINDOW_NORMAL ); cvNamedWindow( "gray", CV_WINDOW_NORMAL ); cvNamedWindow( "thresh", CV_WINDOW_NORMAL ); cvNamedWindow( "open", CV_WINDOW_NORMAL ); /*图像处理*/ cvAdd( src1, src2, add12 ); cvAbsDiff( src1, src2, differ12 ); //differ12 = |src1 - src2| cvCvtColor( differ12, gray, CV_RGB2GRAY ); //将differ12由RGB转换为单通道灰度图gray cvThreshold( gray, thresh, 20.0, 255.0, CV_THRESH_TOZERO ); //超过阈值20.0的部分保持不变,低于阈值部分设置为0 cvErode( thresh, open ); //对thresh先进行腐蚀,再进行膨胀,即进行一次开运算 cvDilate( open, open ); /*显示图像*/ cvShowImage( "add12", add12 ); cvShowImage( "differ12", differ12 ); cvShowImage( "gray", gray ); cvShowImage( "thresh", thresh ); cvShowImage( "open", open ); /*释放内存与销毁窗口*/ cvWaitKey(0); cvReleaseImage( &add12 ); cvReleaseImage( &differ12 ); cvReleaseImage( &gray ); cvReleaseImage( &thresh ); cvReleaseImage( &open ); cvDestroyAllWindows(); return 0; }
相关文章推荐
- 《学习OpenCV》练习4-2
- 《学习OpenCV(中文版)》第4章 练习3a
- 《学习OpenCV》练习4-3
- 《学习OpenCV(中文版)》第4章 练习3b
- 《学习OpenCV》练习4-4
- 《学习OpenCV (中文版)》第2章 练习3和练习4
- 《学习OpenCV(中文版)》第4章 练习4
- 基于QT5的opencv学习之《学习opencv课后练习3-7》
- 《学习OpenCV》练习5-1
- 《学习OpenCV(中文版)》第4章 练习5a
- 《学习OpenCV》练习5-2
- 《学习OpenCV》练习5-4
- 《学习OpenCV》第四章练习答案1-b,1-c,2-a
- 《学习OpenCV》练习5-11
- 《学习OpenCV(中文版)》第4章 练习2
- 《学习OpenCV》例2-3课后练习(page24)
- 《学习OpenCV》练习6-2
- 《学习OpenCV》练习2-5
- 《学习OpenCV》练习6-5
- 《学习OpenCV》练习3-2