初学opencv-通用的形态学
2016-04-19 16:09
399 查看
<pre name="code" class="cpp">cvNamedWindow("形态梯度image"); cvNamedWindow("礼帽image"); cvNamedWindow("黑帽image"); IplImage * src = cvLoadImage("1.jpg", 0); //创建临时图像,某些操作会用到,应该与图像有相同的大小 IplImage * temp1 = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U,src->nChannels); IplImage * temp2 = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U,src->nChannels); IplImage * temp3 = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U,src->nChannels); IplImage * temp4 = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U,src->nChannels); //输出图像 IplImage * img1=cvCreateImage(cvGetSize(src), IPL_DEPTH_8U,src->nChannels); IplImage * img2=cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, src->nChannels); IplImage * img3=cvCreateImage(cvGetSize(src), IPL_DEPTH_8U,src->nChannels); IplImage * img4=cvCreateImage(cvGetSize(src), IPL_DEPTH_8U,src->nChannels); cvCopyImage(src,temp1); cvCopyImage(src,temp2); cvCopyImage(src,temp3); cvCopyImage(src,temp4); cvCopyImage(src, img1); cvCopyImage(src, img2); cvCopyImage(src, img3); cvCopyImage(src, img4); //形态学梯度,用来突出亮度区域的外围 cvMorphologyEx( src, img1, temp1, NULL, //default 3*3 CV_MOP_GRADIENT, 1); //开运算,先腐蚀后膨胀 cvMorphologyEx( src, img4, temp4, NULL, //default 3*3 CV_MOP_OPEN, 1); //"礼帽",用来分离比邻近的点亮的斑块 cvMorphologyEx( src, img2, temp2, NULL, //default 3*3 CV_MOP_TOPHAT, 1); //“黑帽”用来分离比临近点暗的斑块 cvMorphologyEx( src, img3, temp3, NULL, //default 3*3 CV_MOP_BLACKHAT, 1); cvShowImage("形态梯度image", img1); cvShowImage("礼帽image", img2); cvShowImage("黑帽image", img3); cvShowImage("开运算image", img4); cvWaitKey(0); cvReleaseImage(&temp1); cvReleaseImage(&temp2); cvReleaseImage(&temp3); cvReleaseImage(&temp4); cvReleaseImage(&src); cvReleaseImage(&img1); cvReleaseImage(&img2); cvReleaseImage(&img3); cvReleaseImage(&img4); cvDestroyAllWindows(); return 0;
相关文章推荐
- Linux多线程编程(创建线程)
- Linux下编译C/C++以及gcc/g++常用参数
- Linux有问必答:怎样解决“XXX is not in the sudoers file”错误
- linux安装,卸载软件
- linux 中文乱码
- 一个练习打字的网站
- 监控录像文件有覆盖了该如何恢复数据
- 【linux】文件隐藏属性
- linux下安装jdk-解决wget无法下载jdk的问题
- Hadoop 2.4.0+zookeeper3.4.6+hbase0.98.3分布式集群搭建
- Shell 脚本的小实战
- Hadoop 权威指南学习1 (主要框架)
- nginx配置
- Tomcat集群和负载均衡
- Jenkins进阶系列之——09配置Linux系统ssh免密码登陆
- linux中deb怎样安装
- Hadoop学习之路(一)――Hadoop家族学习路线图
- iOS应用架构谈(三):View层的组织和调用方案(下)
- iOS应用架构谈(二):View层的组织和调用方案(上)
- linux下文件系统管理mkfs及挂载Mount(2)