zoukankan      html  css  js  c++  java
  • openCV图像形态学

     1 #include <cv.h>  
     2 #include <highgui.h>  
     3 #include <stdio.h>  
     4 //平滑处理
     5 
     6 int main()
     7 {
     8     IplImage* src = cvLoadImage("../pic.jpg");
     9     IplImage* dst = cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,3);
    10     IplImage* temp = cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,3);
    11     //cvErode(src,dst,NULL,5); //腐蚀:亮的区域被隔离且缩小
    12     //cvDilate(src,dst,NULL,5);  //膨胀:亮的区域得到扩展和连接
    13 
    14     /*形态运算*/
    15     IplConvKernel* element = cvCreateStructuringElementEx(4,4,2,2,CV_SHAPE_RECT);
    16     //cvMorphologyEx(src,dst,temp,element,CV_MOP_OPEN,1); //开运算:先腐蚀再膨胀,去除小的明亮区域,并且剩余的明亮区域被隔绝,但其大小不变 
    17     //cvMorphologyEx(src,dst,temp,element,CV_MOP_CLOSE,1); //闭运算:先膨胀再腐蚀,亮的区域连在一起,但他们基本的大小不变
    18     //cvMorphologyEx(src,dst,temp,element,CV_MOP_GRADIENT,1);//梯度:膨胀-腐蚀,将边缘以高亮区域突出
    19     //cvMorphologyEx(src,dst,temp,element,CV_MOP_TOPHAT,1);    //“礼帽”:原 -  开运算,局部亮度极大点被分割出,突出比其周围更明亮的区域
    20     cvMorphologyEx(src,dst,temp,element,CV_MOP_BLACKHAT,1); //“黑帽”:闭运算 - 原,黑色“洞”被分割出,突出比其周围的区域黑暗的区域
    21 
    22     cvNamedWindow("形态",1);
    23 
    24     cvShowImage("形态",dst);
    25 
    26 
    27     while (1)
    28     {
    29         if(cvWaitKey(15) == 27) break;
    30 
    31     }
    32     cvReleaseImage(&dst);
    33     cvDestroyAllWindows();
    34 }
  • 相关阅读:
    centos下修改hosts
    metasploit rpc
    使用Suricata和ELK进行网络入侵检测
    查询存储设备的UUID
    CentOS基础命令大全
    两个有序数组合并到一个新数组
    dubbo
    redis基本数据类型【3】-List类型
    redis基本数据类型【2】-Hash类型
    redis基本数据类型【1】-String类型
  • 原文地址:https://www.cnblogs.com/cjshuang/p/5690643.html
Copyright © 2011-2022 走看看