• OpenCV实现膨胀和腐蚀


    一、概述

      案例:使用膨胀dilate和腐蚀erode操作来操作图形

      用途:图像的形态学操作主要用在图像的预处理阶段。例如:对身份证进行切割时。在对身份证进行灰度-->模糊---->黑白分割后可对图像进行膨胀操作让文本进行黏连,然后再利用图像分割技术就身份证文字的块状区域进行分割。

    二、图片示例

      原图

      膨胀

      腐蚀

    三、代码示例

    //图像形态学操作-->基于形状的一系列的图像处理操作的集合
    //常见的形态学操作有:膨胀、腐蚀、开操作、闭操作,其中膨胀和腐蚀是最常用的。
    //作用:膨胀:亮的区域变大,腐蚀:暗的区域变大
    #include <opencv2/opencv.hpp>
    #include <iostream>
    
    using namespace cv;
    using namespace std;
    
    Mat src, dst;
    char OUTPUT_WIN[] = "output image";
    int elementSize = 3;
    int max_size = 21;
    void callback_(int ,void*);
    int main(int argc, char const *argv[])
    {
    	//加载图片
    	 src = imread("girl.jpg");
    	if(!src.data){
    		cout<< "can't load image"<<endl;
    		return -1;
    	} 
    
    	imshow("src",src);
    	createTrackbar("Element Size",OUTPUT_WIN,&elementSize,max_size,callback_);
    	callback_(0,0);
    	
    	waitKey(0);
    	return 0;
    }
    
    void callback_(int ,void*){
    	int s = elementSize*2+1;
    	Mat structureElement = getStructuringElement(MORPH_RECT,Size(s,s),Point(-1,-1));
    	//膨胀
    	dilate(src,dst,structureElement);
    	//腐蚀
    	// erode(src,dst,structureElement);
    	imshow("dst",dst);
    
    }
    

      

  • 相关阅读:
    LightOj1054
    LightOj1028
    Docker仓库(转载)
    Dockerfile(转载)
    Docker存储卷(转载)
    容器虚拟化网络和Docker容器网络(转载)
    Docker镜像管理基础(转载)
    Docker基础用法(转载)
    docker容器技术基础入门(转载)
    Redis 3种安装部署方式
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/15384797.html
Copyright © 2020-2023  润新知