zoukankan      html  css  js  c++  java
  • 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);
    
    }
    

      

  • 相关阅读:
    P2324 [SCOI2005]骑士精神
    P4160 [SCOI2009]生日快乐
    BZOJ 1103: [POI2007]大都市meg
    P4289 [HAOI2008]移动玩具
    P2472 [SCOI2007]蜥蜴
    adb: command not found 解決方法(转载)
    Thinkpad x230i安装Ubuntu10.04发生no network devices available
    Ubuntu10.04安装与配置nfs服务器(转载)
    RTSP协议简介(转载)
    UIBC 小註解(转载)
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/15384797.html
Copyright © 2011-2022 走看看