#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

//形态学操作
int Demo_Morphology()
{
  char win1[] = "window1";
  char win2[] = "window2";

  Mat img1, img2;
  img1 = imread("D://images//4//13.jpg");
  if (img1.empty())
  {
    cout << "could not load img..."<< endl;
    return 0;
  }

  imshow(win1,img1);
  Mat kernel_close = getStructuringElement(MORPH_RECT,Size(35,35),Point(-1,-1));
  Mat kernel_GRADIENT = getStructuringElement(MORPH_RECT, Size(15, 15), Point(-1, -1));
  Mat kernel_top_hat = getStructuringElement(MORPH_RECT, Size(53, 53), Point(-1, -1));
  Mat kernel_black_hat = getStructuringElement(MORPH_RECT, Size(11, 11), Point(-1, -1));

  //
  //morphologyEx(img1,img2,CV_MOP_CLOSE,kernel_close);
  //梯度
  //morphologyEx(img2, img2, CV_MOP_GRADIENT, kernel_GRADIENT);
  //开操作-顶帽
  //morphologyEx(img1, img2, CV_MOP_TOPHAT, kernel_top_hat);
  //闭操作-黑帽
  morphologyEx(img1, img2, CV_MOP_BLACKHAT, kernel_black_hat);

  imshow(win2, img2);

  return 0;
}

int main()
{
  Demo_Morphology();

  waitKey(0);
  return 0;
}

转载于:https://www.cnblogs.com/herd/p/9734170.html

Opencv3 形态学操作相关推荐

  1. 【python OpenCV3.3 图像处理教程:直线检测、圆检测、对象测量、腐蚀、膨胀等形态学操作、数字验证码识别、人脸检测

    1. 直线检测 Hough Line Transform:前提:边缘检测已经完成,基于霍夫变换 1.1 原理 可以通过(theta,r)唯一表示一个点. 把过三个点的全部直线以某一角度全部计算出来,如 ...

  2. 使用Python,OpenCV进行形态学操作

    使用Python,OpenCV进行形态学操作) 1. 效果图 2. 原理 3. 源码 3.1 [制作logo源码](https://blog.csdn.net/qq_40985985/article/ ...

  3. OpenCV(八)形态学操作3--形态学梯度实现轮廓分析(基本梯度、内部梯度、外部梯度、方向梯度X(Y))

    目录 形态学梯度概述 一.基本梯度 1.原理 2.代码 3.效果 二.内部梯度 1.原理 2.代码 3.效果 三.外部梯度 1.原理 2.代码 3.效果 四.方向梯度 1.原理 2.二值化图像(黑白) ...

  4. OpenCV中图像形态学操作

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

  5. OPenCv java 形态学操作(12)

    创建图片 Mat mat=new Mat();mat.create(new Size(516,516),CvType.CV_8UC3);Imgproc.putText(mat, "hello ...

  6. OpenCvSharp 形态学操作(膨胀、腐蚀)

    什么是形态学操作 用数学形态学(也称图像代数)表示以形态为基础对图像进行分析的数学工具.基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的. 形态学图像处理的数 ...

  7. opencv6.1-imgproc图像处理模块之平滑与形态学操作

    这个部分是<opencv-tutorials.pdf>的部分,这部分也是几大部分中例子最多的,其实这个教程的例子都很不错,不过有些看得出来还是c接口的例子,说明例子有些年头了,其实在&qu ...

  8. 基于形态学操作提取水平和垂直线条(五线谱中音符和乐谱线的分离)

    目的: 结合自定义核,应用两个非常常见的形态学算子(例如,扩张和侵蚀),提取水平和垂直方向的线条.将会用到以下OpenCV函数: cv::erode cv::dilate cv::getStructu ...

  9. Python-OpenCV 笔记4 -- 形态学操作(Morphological Operations)

    Python-OpenCV 笔记4 – 形态学操作(Morphological Operations) 1.腐蚀(Erosion) # 函数原型 erode(src, kernel[, dst[, a ...

最新文章

  1. css 调用变量 php,PHP 变量
  2. 071_设置日期方法
  3. A Step By Step Guide to Tomcat Performance Monitoring【转】
  4. ubuntu18.10的header文件搜索路径
  5. scan8[16+2*4]的内容
  6. Python3 输入和输出
  7. 图片相似度识别在线_图片相似度计算的几种方法
  8. java、js的编码、解码
  9. MQTT教程(一):MQTT简介
  10. ipv4的地址位数_ipv4
  11. 在上海创业的日子之寻找办公室
  12. 权力的游戏第七季/全集Game of Thrones迅雷下载
  13. 区块链通证经济的核心不在技术,而在于商业逻辑的重构
  14. php发送邮件email
  15. centos8 免密登录
  16. BCG 使用之CBCGPTabWnd控件(相当于MFC TabControl)
  17. 电子元器件简介——电阻篇
  18. 常见公文批示用语集锦
  19. python 识别图像主题并切割
  20. 关于android和软件的开发

热门文章

  1. Flash中与xml交互时不显示中文的解决办法
  2. 学习UpdatePanel控件
  3. tomcat启动关闭两种方法
  4. leetcode - 368. 最大整除子集
  5. TX1在opencv中调用gstreamer解码海康IP摄像头
  6. 【安装教程】windows8.1 下安装ubuntu14.04 双系统
  7. Docker学习四:Docker 网络
  8. Struts2访问Servlet的三种方式
  9. Namomo Spring Camp Div2 Week1 - 第五次打卡
  10. 有关编译嵌入式android的swap空间不够导致的编译错误和解决办法