opencv(5)形态学操作
2012-06-08 03:41
337 查看
图像形态学一般用于阈值化后的二值图像,其实也可以用于灰度图像的处理,这篇文章主要对灰度中的应用做分析。
1.膨胀与腐蚀
即先进性2次开运算,扩大边缘的噪声,在使用闭运算,连接边缘的毛刺,开运算和闭运算的结果如下:
经过开运算,闭运算后,边缘平滑很多,这并不是一个很好的例子,手边刚好有这么一张图片,就一次来说明问题而已
剩下 的明天再说吧
1.膨胀与腐蚀
形态学操作例子 cvNamedWindow("src"); cvNamedWindow("dst"); IplImage *img=cvLoadImage("12.bmp"); IplImage *img2 = cvCreateImage(cvSize(img->width,img->height),IPL_DEPTH_8U,1); IplImage *img3 = cvCreateImage(cvSize(img->width,img->height),IPL_DEPTH_8U,1); cvCvtColor(img,img2,CV_BGR2GRAY); cvThreshold(img2,img2,60,255,CV_THRESH_BINARY); cvShowImage("src",img2); cvSaveImage("src.jpg",img2); IplConvKernel* t = cvCreateStructuringElementEx(7, 7, 4,4,CV_SHAPE_ELLIPSE); IplConvKernel* t2 = cvCreateStructuringElementEx(5, 5, 3,3,CV_SHAPE_ELLIPSE); cvMorphologyEx(img2,img3,NULL,t2,CV_MOP_OPEN); cvMorphologyEx(img3,img3,NULL,t2,CV_MOP_OPEN); cvMorphologyEx(img3,img3,NULL,t,CV_MOP_CLOSE); cvMorphologyEx(img3,img3,NULL,t,CV_MOP_CLOSE); cvReleaseStructuringElement( &t ); cvReleaseStructuringElement( &t2 ); cvSaveImage("dst.jpg",img3); cvShowImage("dst",img3); cvWaitKey(); cvDestroyWindow("dst"); cvDestroyWindow("src"); return 0;
即先进性2次开运算,扩大边缘的噪声,在使用闭运算,连接边缘的毛刺,开运算和闭运算的结果如下:
经过开运算,闭运算后,边缘平滑很多,这并不是一个很好的例子,手边刚好有这么一张图片,就一次来说明问题而已
剩下 的明天再说吧
相关文章推荐
- opencv中的形态学操作
- OpenCV学习第十一篇:形态学操作
- OpenCV学习之形态学操作
- opencv(5)形态学操作
- OpenCV学习笔记(六) 滤波器 形态学操作(腐蚀、膨胀等)
- opencv图像的形态学操作:腐蚀与膨胀
- 我的OpenCV学习笔记(16):利用工具条调用基本的形态学操作
- Opencv学习笔记(七):腐蚀,膨胀,开操作,闭操作及其他相关的形态学操作
- OpenCV形态学操作 腐蚀 膨胀 开闭
- OpenCV学习笔记-形态学操作-腐蚀膨胀-开闭运算
- OpenCV图像处理-区域分割-形态学操作应用
- OpenCV成长之路(6):数学形态学基本操作及其应用
- OpenCV--形态学操作
- [转]OpenCV形态学操作
- OpenCV成长之路(6):数学形态学基本操作及其应用
- opencv6.1-imgproc图像处理模块之平滑与形态学操作
- OpenCV&图像处理_3:以腐蚀[eroding]和膨胀[dilating]为基础的形态学操作和图像金字塔[image pyramids]
- OpenCV形态学操作
- opencv6.1-imgproc图像处理模块之平滑与形态学操作
- OPENCV形态学操作1