opencv的形态学操作
函数morphologyEx
- 第一个参数(src): 输入的图像
- 第二个参数(dst): 输出的图像
- 第三个参数(op): 要进行的操作
- 开操作 (MORPH_OPEN): 先腐蚀,后膨胀
- 闭操作(MORPH_CLOSE ): 先膨胀,后腐蚀
- 顶帽(MORPH_GRADIENT): 原图像与开操作之后的图像的差值
- 黑帽(MORPH_BLACKHAT): 闭操作之后的图像与原图像的差值
- 第四个参数(kernel):进行形态学操作的内核,一般设为奇数,默认3
- 第五个参数(anchor): 被称之为锚点,一般默认为Point(-1, -1)
锚点更多参考:https://blog.csdn.net/liquan1434/article/details/22314171 - 第六个参数(iterations): 是函数要执行的次数,一般为1;
- 第七个参数(border type):决定在图像发生几何变换或者滤波操作(卷积)时边沿像素的处理方式,默认值为BORDER_ CONSTANT。
- BORDER_CONSTANT: 就是边沿像素用i替换
- BORDER_REPLICATE:复制边界像素
- BORDER_REFLECT:反射复制边界像素
- BORDER_REFLECT_101:以边界为对称轴反射复制像素
- 第八个参数(borderValue): 当边界为常数时的边界值,可以设置边框的颜色,有默认值为morphologyDefaultBorderValue() ,也可以设置其他的
文章图片
#include "pch.h"
#include
#include
int main()
{
Mat src = https://www.it610.com/article/imread("f:/test.png");
imshow("input", src);
Mat kernel = getStructuringElement(MORPH_RECT, Size(3, 3));
Mat dst;
morphologyEx(src, dst, CV_MOP_OPEN, kernel);
imshow("output", dst);
waitKey(0);
return 0;
}
文章图片
文章图片
闭操作
#include "pch.h"
#include
#include
int main()
{
Mat src = https://www.it610.com/article/imread("f:/test.png");
imshow("input", src);
Mat kernel = getStructuringElement(MORPH_RECT, Size(3, 3));
Mat dst;
morphologyEx(src, dst, CV_MOP_CLOSE, kernel);
imshow("output", dst);
waitKey(0);
return 0;
}
文章图片
顶帽
#include "pch.h"
#include
#include
int main()
{
Mat src = https://www.it610.com/article/imread("f:/test.png");
imshow("input", src);
Mat kernel = getStructuringElement(MORPH_RECT, Size(3, 3));
Mat dst;
morphologyEx(src, dst, CV_MOP_TOPHAT, kernel);
imshow("output", dst);
waitKey(0);
return 0;
}
文章图片
黑帽
#include "pch.h"
#include
#include
int main()
{
Mat src = https://www.it610.com/article/imread("f:/test.png");
imshow("input", src);
Mat kernel = getStructuringElement(MORPH_RECT, Size(3, 3));
Mat dst;
morphologyEx(src, dst, CV_MOP_BLACKHAT, kernel);
imshow("output", dst);
waitKey(0);
return 0;
}
【opencv的形态学操作】
文章图片
推荐阅读
- 人脸识别|【人脸识别系列】| 实现自动化妆
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- opencv|图像处理之椒盐噪声的添加与去除
- 人脸识别|【人脸识别系列】| 实现人脸截图保存并编写128维特征向量
- opencv|网络爬虫入门练习
- OpenCV|【OpenCV 完整例程】89. 带阻滤波器的传递函数
- OpenCV|【OpenCV 完整例程】90. 频率域陷波滤波器
- OpenCV|【OpenCV 完整例程】22. 图像添加非中文文字
- OpenCV|【OpenCV 完整例程】91. 高斯噪声、瑞利噪声、爱尔兰噪声
- opencv|python+opencv车道线,实线虚线的检测