膨胀腐蚀对静态车辆检测-创新互联

场景

湛河ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

    前期进行了二值化处理,车辆和道路存在连通区域,实际上,就没有必要再次进行形态学的算法处理,不过为了练习使用膨胀和腐蚀,并且了解函数的基本使用,还是进行了处理

代码

#include "cv.h"

#include "highgui.h"

#include "opencv2/opencv.hpp"

using namespace cv;

Mat srcMat, erosion_dst, dilation_dst;

int erosion_elem = 0;

int erosion_size = 0;

int dilation_elem = 0;

int dilation_size = 0;

int const max_elem = 2;

int const max_kernel_size = 21;

void Erosion( int, void* );

void Dilation( int, void* );

void Erosion( int, void* )

{

 int erosion_type;

 if( erosion_elem == 0 ){ erosion_type = MORPH_RECT; }

 else if( erosion_elem == 1 ){ erosion_type = MORPH_CROSS; }

 else if( erosion_elem == 2) { erosion_type = MORPH_ELLIPSE; }

 Mat element = getStructuringElement( erosion_type,

  Size( 2*erosion_size + 1, 2*erosion_size+1 ),

  Point( erosion_size, erosion_size ) );

 /// 腐蚀操作

 erode( srcMat, erosion_dst, element );

 imshow( "Erosion Demo", erosion_dst );

}

void Dilation( int, void* )

{

 int dilation_type;

 if( dilation_elem == 0 ){ dilation_type = MORPH_RECT; }

 else if( dilation_elem == 1 ){ dilation_type = MORPH_CROSS; }

 else if( dilation_elem == 2) { dilation_type = MORPH_ELLIPSE; }

 Mat element = getStructuringElement( dilation_type,

  Size( 2*dilation_size + 1, 2*dilation_size+1 ),

  Point( dilation_size, dilation_size ) );

 ///膨胀操作

 dilate( srcMat, dilation_dst, element );

 imshow( "Dilation Demo", dilation_dst );

}

int main() {

 srcMat = imread( "D:/20170601092226.png" );

 if( !srcMat.data ) return -1;

 cvtColor(srcMat, srcMat, CV_BGR2GRAY);

 threshold(srcMat, srcMat, 100, 255, CV_THRESH_BINARY);

 namedWindow( "Erosion Demo", CV_WINDOW_AUTOSIZE );

 namedWindow( "Dilation Demo", CV_WINDOW_AUTOSIZE );

 cvMoveWindow( "Dilation Demo", srcMat.cols, 0 );

 /// 创建腐蚀 Trackbar

 createTrackbar( "Element:\n 0: Rect \n 1: Cross \n 2: Ellipse", "Erosion Demo",

  &erosion_elem, max_elem,

  Erosion );

 createTrackbar( "Kernel size:\n 2n +1", "Erosion Demo",

  &erosion_size, max_kernel_size,

  Erosion );

 /// 创建膨胀 Trackbar

 createTrackbar( "Element:\n 0: Rect \n 1: Cross \n 2: Ellipse", "Dilation Demo",

  &dilation_elem, max_elem,

  Dilation );

 createTrackbar( "Kernel size:\n 2n +1", "Dilation Demo",

  &dilation_size, max_kernel_size,

  Dilation );

 Erosion( 0, 0 );

 Dilation( 0, 0 );

 waitKey(0);

 return 0;

}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:膨胀腐蚀对静态车辆检测-创新互联
转载注明:http://myzitong.com/article/dopjdi.html