6基于opencv的形态学处理(一)腐蚀_膨胀
来源:互联网 发布:mac装双系统 编辑:程序博客网 时间:2024/05/29 03:39
形态学处理:腐蚀和膨胀
一、腐蚀函数erode
1.1示例
MatScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg");//读入图像
MatOutImage5;
erode(ScrImage, OutImage5, getStructuringElement(MORPH_RECT,Size(5, 5)));//腐蚀操作
1.2 erode ()函数各个参数详解
Ø ScrImage:输入图像
Ø OutImage3:输出图像
Ø getStructuringElement(MORPH_RECT,Size(5, 5)):第三个参数,InputArray类型的kernel,腐蚀操作的内核。若为NULL时,表示的是使用参考点位于中心3x3的核。我们一般使用函数getStructuringElement配合这个参数的使用。getStructuringElement函数会返回指定形状和尺寸的结构元素(内核矩阵)。(具体看上文中浅出部分dilate函数的第三个参数讲解部分)
1.3函数getStructuringElement(MORPH_RECT,Size(5, 5))详解
1.3.1 getStructuringElement函数的第一个参数表示内核的形状,我们可以选择如下三种形状之一:
矩形:MORPH_RECT
交叉形:MORPH_CROSS
椭圆形:MORPH_ELLIPSE
而getStructuringElement函数的第二和第三个参数分别是内核的尺寸以及锚点的位置。
我们一般在调用erode以及dilate函数之前,先定义一个Mat类型的变量来获得getStructuringElement函数的返回值。对于锚点的位置,有默认值Point(-1,-1),表示锚点位于中心。且需要注意,十字形的element形状唯一依赖于锚点的位置。而在其他情况下,锚点只是影响了形态学运算结果的偏移。
1.3.2 getStructuringElement函数相关的调用示例代码如下:
intg_nStructElementSize = 3; //结构元素(内核矩阵)的尺寸
//获取自定义核
Mat element =getStructuringElement(MORPH_RECT,
Size(2*g_nStructElementSize+1,2*g_nStructElementSize+1),
Point(g_nStructElementSize, g_nStructElementSize ));
二、膨胀函数dilate
1.1示例
MatScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg");//读入图像
MatOutImage5;
dilate(ScrImage, OutImage5, getStructuringElement(MORPH_RECT,Size(5, 5))); //腐蚀操作
1.2 dilate ()函数各个参数详解
Ø ScrImage:输入图像
Ø OutImage3:输出图像
Ø getStructuringElement(MORPH_RECT,Size(5, 5)):第三个参数,InputArray类型的kernel,膨胀操作的内核。若为NULL时,表示的是使用参考点位于中心3x3的核。我们一般使用函数getStructuringElement配合这个参数的使用。getStructuringElement函数会返回指定形状和尺寸的结构元素(内核矩阵)。(具体看上文中浅出部分erode函数的第三个参数讲解部分)
三、完整程序示例
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/opencv.hpp>
#include <vector>
#include <cstdio>
using namespacestd;
using namespacecv;
int main()
{
Mat ScrImage, ScrImgaeCopy1, OutImage, OutImage1, OutImage2,OutImage3, OutImage4, OutImage5, OutImage6, OutImage7, OutImage8, OutImage9;
ScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg");//读入图像
namedWindow("【原图】");
imshow("【原图】", ScrImage);
erode(ScrImage,OutImage5, getStructuringElement(MORPH_RECT,Size(5, 5)));//腐蚀操作
dilate(ScrImage,OutImage6, getStructuringElement(MORPH_RECT,Size(5, 5))); //膨胀操作
namedWindow("【效果图erode】");
imshow("【效果图erode】", OutImage5);
namedWindow("【效果图dilate】");
imshow("【效果图dilate】",OutImage6);
waitKey(0);
return NULL;
}
参考内容:
http://www.cnblogs.com/mq0036/p/5902104.html
- 6基于opencv的形态学处理(一)腐蚀_膨胀
- 腐蚀,膨胀,opencv的形态学处理
- opencv形态学-腐蚀和膨胀
- opencv----形态学运算:腐蚀、膨胀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- OpenCV之十 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 转载:【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- Python连续攀升,其他的脚本语言去哪了?
- Oracle 分级查询
- 字典转模型
- let、const
- vue打包时报es6语法错误
- 6基于opencv的形态学处理(一)腐蚀_膨胀
- windows pdb
- C语言基础(一)
- flume到kafka动态topic
- chkconfig命令详解
- 均匀分布随机数的生成算法简介
- Unity 中的4X4矩阵
- 一、排序之冒泡排序
- 吉他各种调式推算