进行基础的图像形态学操作练习

(开操作、闭操作、梯度、顶帽、黑帽操作)

源代码:

//
#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++】相关推荐

  1. OpenCV中图像形态学操作

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:视学算法 图像形态学是图像处理的分支学科,在二值图像处理 ...

  2. opencv c++ 图像形态学操作

    1.图像的形态学操作 包括图像的腐蚀.膨胀.开.闭.形态学梯度.顶帽.黑帽.分支主题.结构元素等操作. 具体概念参考:(41条消息) 图像处理-形态学处理_Good@dz的博客-CSDN博客_图像处理 ...

  3. opencv 实现图像形态学操作 膨胀和腐蚀 开闭运算 形态学梯度 顶帽和黑帽

    图像膨胀和腐蚀 图解 原理及python实现 更多内容:图像膨胀和腐蚀原理及python实现 opencv中膨胀和腐蚀函数 dilation = cv.dilate(img, kernel) # 膨胀 ...

  4. 形态学操作——开闭运算、顶帽底(黑)帽变换

    膨胀和腐蚀运算的问题: 边缘形状发生了变化,膨胀发生了扩张,腐蚀发生了收缩 目标物体变形,对识别时的特征提取会造成影响 解决方法: 开操作: B对A的开操作就是先B对A腐蚀,紧接着用B对结果进行膨胀 ...

  5. opencv python 图像形态学操作/图像腐蚀/图像膨胀/开运算/闭运算/顶帽/黑帽

    Morphological Transformations 1图像腐蚀 腐蚀的基本思想:侵蚀前景物体的边界(总是试图保持前景为白色):内核在图像中滑动(如在2D卷积中).只有当内核下的所有像素都是1时 ...

  6. opencv之 图像像素操作(如何通过opencv在图像上划线)

    首先我们了解,一个图像,都是一个大的二维数组,每一个元素都是一个像素,若是rgb图像,则该像素还会有rgb三个值,我们读入一个图像 import cv2img = cv2.imread("o ...

  7. C++ OpenCV形态学操作--开闭操作,形态学梯度,顶帽,黑帽

    https://my.oschina.net/u/4582134/blog/4582844

  8. OpenCV与图像处理学习六——图像形态学操作:腐蚀、膨胀、开、闭运算、形态学梯度、顶帽和黑帽

    OpenCV与图像处理学习六--图像形态学操作:腐蚀.膨胀.开.闭运算.形态学梯度.顶帽和黑帽 四.图像形态学操作 4.1 腐蚀和膨胀 4.1.1 图像腐蚀 4.1.2 图像膨胀 4.2 开运算与闭运 ...

  9. Opencv学习笔记四——图像形态学操作

    需要的库和自定义函数 import cv2 import numpy as np import matplotlib.pyplot as pltdef cv_show(name, mat):cv2.i ...

最新文章

  1. View工作原理(三)视图大小计算过程(measure过程)
  2. 104.路由协议有哪些?
  3. Android --- 百度地图 SDK v3.6.0 以上版本找不到 PoiOverlay 类
  4. 从零开始学习docker(十六)Swarm mode 创建集群
  5. vmware 中win7无法上网
  6. js indexOf()
  7. crm系统是什么很棒ec实力_易观发布2019中国CRM实力矩阵,EC成为领先者
  8. 编辑器笔记——sublime text3 编译sass
  9. 怎么用itunes来打开手机软件
  10. 清华钱颖一:什么造就了硅谷奇迹?这7个因素不可忽视
  11. 稀土铕配合物掺杂聚苯乙烯荧光微球/含铕配合物聚苯乙烯荧光微球/稀土磁性荧光微球制备
  12. GBT9706.1中B型BF型和CF型各表示什么意思?多参监护仪设计
  13. 什么是CPU Die?
  14. 有关JavaScript中条件逻辑的权威指南
  15. APP界面设计规范:如何定义视觉规范
  16. 快速排序和二分查找时间复杂度详解
  17. 《大明王朝》赵贞吉的拉扯
  18. python代码画樱花教程-如何用Python代码实现樱花树效果
  19. 北大资源燕南业主总群 326680907
  20. 塔尔斯基学派代表作—模型论(教科书)

热门文章

  1. 诱导产生iPS细胞的几种方法
  2. August 21st 2016 Week 35th Sunday
  3. Sublime配置java运行环境(IntelliJ IDEA也许更好用)
  4. 学习笔记(5)-标签传播(LPA)小结
  5. 模拟银行存款java,模拟银行存取款业务
  6. 通信工程学python吗_通信工程专业要学的软件们!
  7. 考学硕研究生通信专业多还是考计算机专业,我为什么考南邮通信专业硕士研究生...
  8. 流行和声(3)minor6和弦
  9. 17春c语言,2017春C语言程序设计 上(长安大学)
  10. 研究ffmepg中有感(NDK 与 JNI 的关系)