《学习OpenCV》练习题第三章第七题
来源:互联网 发布:淘宝买家信誉升级 编辑:程序博客网 时间:2024/05/22 09:40
1 #include "opencv_libs.h" 2 #include <highgui.h> 3 #include <cv.h> 4 #include <stdio.h> 5 6 #pragma comment (lib,"opencv_calib3d231d.lib") 7 #pragma comment (lib,"opencv_contrib231d.lib") 8 #pragma comment (lib,"opencv_core231d.lib") 9 #pragma comment (lib,"opencv_features2d231d.lib")10 #pragma comment (lib,"opencv_flann231d.lib")11 #pragma comment (lib,"opencv_gpu231d.lib")12 #pragma comment (lib,"opencv_haartraining_engined.lib")13 #pragma comment (lib,"opencv_highgui231d.lib")14 #pragma comment (lib,"opencv_imgproc231d.lib")15 #pragma comment (lib,"opencv_legacy231d.lib")16 #pragma comment (lib,"opencv_ml231d.lib")17 #pragma comment (lib,"opencv_objdetect231d.lib")18 #pragma comment (lib,"opencv_ts231d.lib")19 #pragma comment (lib,"opencv_video231d.lib")20 21 /*22 *《学习OpenCV》第三章第五题23 * 完成时间:0:41 3/3 星期日 201324 */25 26 int main()27 {28 // 加载一个三通道的彩色图像29 IplImage * srcImage = cvLoadImage("lena.bmp", 1);30 31 // 分割成R, G, B三个单通道图像32 IplImage* red_plane = cvCreateImage(cvGetSize(srcImage), srcImage->depth, 1);33 IplImage* green_plane = cvCreateImage(cvGetSize(srcImage), srcImage->depth, 1);34 IplImage* blue_plane = cvCreateImage(cvGetSize(srcImage), srcImage->depth, 1);35 36 // 分离RGB图像的顺序为 B, G, R37 cvSplit(srcImage, blue_plane, green_plane, red_plane, NULL);38 39 // 克隆绿图两次40 IplImage* clone1 = cvCloneImage(green_plane);41 IplImage* clone2 = cvCloneImage(green_plane);42 43 // 找到绿色平面的最大值和最小值44 double dMaxValue, dMinValue;45 cvMinMaxLoc(green_plane, &dMinValue, &dMaxValue, NULL, NULL, NULL);46 printf("Max: %f\tMin: %f\n", dMaxValue, dMinValue);47 48 // 将clone1的所有元素赋值为thresh = (unsigned char)((max - min)/2))49 unsigned char thresh = (dMaxValue - dMinValue)/2;50 cvSet(clone1, cvScalarAll(thresh), 0);51 // 将clone2的所有元素赋零52 cvSet(clone2, cvScalarAll(0), 0);53 54 // 生成掩码图像55 cvCmp(green_plane, clone1, clone2, CV_CMP_GE);56 57 // 显示结果58 cvSubS(green_plane, cvScalarAll(thresh/2), green_plane, clone2 );59 60 cvShowImage("clone1", clone1);61 cvShowImage("clone2", clone2);62 63 cvShowImage("红", red_plane);64 cvShowImage("绿", green_plane);65 cvShowImage("蓝", blue_plane);66 cvShowImage("原始图像", srcImage);67 68 cvvWaitKey(0);69 70 cvReleaseImage(&srcImage);71 cvReleaseImage(&red_plane);72 cvReleaseImage(&green_plane);73 cvReleaseImage(&blue_plane);74 cvReleaseImage(&clone1);75 cvReleaseImage(&clone2);76 cvDestroyAllWindows();77 return 0;78 }
运行结果:
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 《学习OpenCV》练习题第三章第七题
- 《学习OpenCV》练习题第三章第七题
- 《学习OpenCV》练习题第三章第三题
- 《学习OpenCV》练习题第三章第三题
- 《学习OpenCV》练习题第二章第三题
- 《学习OpenCV》练习题第三章第一题
- 《学习OpenCV》练习题第三章第二题
- 《学习OpenCV》练习题第三章第四题
- 《学习OpenCV》练习题第三章第五题
- 《学习OpenCV》练习题第三章第六题
- 《学习OpenCV》练习题第三章第四题
- 《学习OpenCV》练习题第三章第二题
- 《学习OpenCV》练习题第四章第七题abc
- 《学习OpenCV》练习题第三章第八题a
- 《学习OpenCV》练习题第三章第八题b
- 《学习OpenCV》练习题第四章第三题a
- 《学习OpenCV》练习题第四章第三题b
- opencv第三章练习题
- 标准输入输出函数%[]和%n说明符的使用方法
- MySql常用命令总结
- 【5.3.2 字母重排】
- Objective-C中的Block
- startActivityForResult()的用法
- 《学习OpenCV》练习题第三章第七题
- Extjs中的一些特殊用法
- Go 语言简介(下)— 特性<转载>
- 黑马程序员——内部类、匿名内部类
- C++游戏开发需要阅读的书籍
- 一个简单的epoll测试例子
- linux kernel panic解决思路
- 黑马程序员——异常
- 常数变易法的原理