2020.11.01 使用OpenCV进行图像形态学操作(开、闭、梯度)【OpenCV C++】
进行基础的图像形态学操作练习
(开操作、闭操作、梯度、顶帽、黑帽操作)
源代码:
//
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
const char* inWin = "input Window";
const char* outWin = "output Window";
int main()
{
//std::cout << "Hello World!\n";
Mat src, dst;
src = imread("E:/imageSources/3.jpg");
if (!src.data) {
printf("can not load image");
return -1;
}
namedWindow(inWin,WINDOW_AUTOSIZE);
imshow(inWin,src);
namedWindow(outWin, WINDOW_AUTOSIZE);
//形态学操作
//创建设置结构元素
Mat kernel = getStructuringElement(MORPH_RECT,Size(3,3),Point(-1,-1));
//开操作(先腐蚀再膨胀)
//morphologyEx(src, dst,MORPH_OPEN, kernel);
//闭操作(先膨胀再腐蚀)
//morphologyEx(src, dst, MORPH_CLOSE, kernel);
//形态学梯度操作(膨胀减去腐蚀)
//morphologyEx(src, dst, MORPH_GRADIENT, kernel);
//形态学顶帽操作(原图像减去开操作)
//morphologyEx(src, dst, MORPH_TOPHAT, kernel);
//形态学黑帽操作(原图像减去闭操作)
morphologyEx(src, dst, MORPH_BLACKHAT, kernel);
imshow(outWin, dst);
waitKey(0);
return 0;
}
开操作效果(先腐蚀再膨胀):
闭操作效果(先膨胀再腐蚀):
梯度效果(膨胀减去腐蚀)
顶帽操作效果(原图像减开操作):
黑帽操作(闭操作与原图像相减)
2020.11.01 使用OpenCV进行图像形态学操作(开、闭、梯度)【OpenCV C++】相关推荐
- OpenCV中图像形态学操作
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:视学算法 图像形态学是图像处理的分支学科,在二值图像处理 ...
- opencv c++ 图像形态学操作
1.图像的形态学操作 包括图像的腐蚀.膨胀.开.闭.形态学梯度.顶帽.黑帽.分支主题.结构元素等操作. 具体概念参考:(41条消息) 图像处理-形态学处理_Good@dz的博客-CSDN博客_图像处理 ...
- opencv 实现图像形态学操作 膨胀和腐蚀 开闭运算 形态学梯度 顶帽和黑帽
图像膨胀和腐蚀 图解 原理及python实现 更多内容:图像膨胀和腐蚀原理及python实现 opencv中膨胀和腐蚀函数 dilation = cv.dilate(img, kernel) # 膨胀 ...
- 形态学操作——开闭运算、顶帽底(黑)帽变换
膨胀和腐蚀运算的问题: 边缘形状发生了变化,膨胀发生了扩张,腐蚀发生了收缩 目标物体变形,对识别时的特征提取会造成影响 解决方法: 开操作: B对A的开操作就是先B对A腐蚀,紧接着用B对结果进行膨胀 ...
- opencv python 图像形态学操作/图像腐蚀/图像膨胀/开运算/闭运算/顶帽/黑帽
Morphological Transformations 1图像腐蚀 腐蚀的基本思想:侵蚀前景物体的边界(总是试图保持前景为白色):内核在图像中滑动(如在2D卷积中).只有当内核下的所有像素都是1时 ...
- opencv之 图像像素操作(如何通过opencv在图像上划线)
首先我们了解,一个图像,都是一个大的二维数组,每一个元素都是一个像素,若是rgb图像,则该像素还会有rgb三个值,我们读入一个图像 import cv2img = cv2.imread("o ...
- C++ OpenCV形态学操作--开闭操作,形态学梯度,顶帽,黑帽
https://my.oschina.net/u/4582134/blog/4582844
- OpenCV与图像处理学习六——图像形态学操作:腐蚀、膨胀、开、闭运算、形态学梯度、顶帽和黑帽
OpenCV与图像处理学习六--图像形态学操作:腐蚀.膨胀.开.闭运算.形态学梯度.顶帽和黑帽 四.图像形态学操作 4.1 腐蚀和膨胀 4.1.1 图像腐蚀 4.1.2 图像膨胀 4.2 开运算与闭运 ...
- Opencv学习笔记四——图像形态学操作
需要的库和自定义函数 import cv2 import numpy as np import matplotlib.pyplot as pltdef cv_show(name, mat):cv2.i ...
最新文章
- View工作原理(三)视图大小计算过程(measure过程)
- 104.路由协议有哪些?
- Android --- 百度地图 SDK v3.6.0 以上版本找不到 PoiOverlay 类
- 从零开始学习docker(十六)Swarm mode 创建集群
- vmware 中win7无法上网
- js indexOf()
- crm系统是什么很棒ec实力_易观发布2019中国CRM实力矩阵,EC成为领先者
- 编辑器笔记——sublime text3 编译sass
- 怎么用itunes来打开手机软件
- 清华钱颖一:什么造就了硅谷奇迹?这7个因素不可忽视
- 稀土铕配合物掺杂聚苯乙烯荧光微球/含铕配合物聚苯乙烯荧光微球/稀土磁性荧光微球制备
- GBT9706.1中B型BF型和CF型各表示什么意思?多参监护仪设计
- 什么是CPU Die?
- 有关JavaScript中条件逻辑的权威指南
- APP界面设计规范:如何定义视觉规范
- 快速排序和二分查找时间复杂度详解
- 《大明王朝》赵贞吉的拉扯
- python代码画樱花教程-如何用Python代码实现樱花树效果
- 北大资源燕南业主总群 326680907
- 塔尔斯基学派代表作—模型论(教科书)
热门文章
- 诱导产生iPS细胞的几种方法
- August 21st 2016 Week 35th Sunday
- Sublime配置java运行环境(IntelliJ IDEA也许更好用)
- 学习笔记(5)-标签传播(LPA)小结
- 模拟银行存款java,模拟银行存取款业务
- 通信工程学python吗_通信工程专业要学的软件们!
- 考学硕研究生通信专业多还是考计算机专业,我为什么考南邮通信专业硕士研究生...
- 流行和声(3)minor6和弦
- 17春c语言,2017春C语言程序设计 上(长安大学)
- 研究ffmepg中有感(NDK 与 JNI 的关系)