opencv 例項演示

2021-08-18 04:39:19 字數 2807 閱讀 1248

1. 腐蝕膨脹

main.cpp

#include "opencv2/imgproc/imgproc.hpp"

#include "opencv2/highgui/highgui.hpp"

//#include "highgui.h"

#include #include // erosion腐蝕 dilation膨脹 滑動條用來控制膨脹和腐蝕的次數

using namespace cv;

/// 全域性變數

mat src, 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 = 5;

/** function headers */

void erosion( int, void* );

void dilation( int, void* );

/** @function main */

int main()

/// 建立顯示視窗

namedwindow( "erosion demo", cv_window_autosize ); // 建立腐蝕

namedwindow( "dilation demo", cv_window_autosize ); // 建立膨脹

cvmovewindow( "dilation demo", src.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 );

/// default start

erosion( 0, 0 );

dilation( 0, 0 );

waitkey(0);

return 0;

}/** @function erosion */

void erosion( int, void* )

else if( erosion_elem == 1 )

else if( erosion_elem == 2)

mat element = getstructuringelement( erosion_type,

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

point( erosion_size, erosion_size ) );

/// 腐蝕操作

erode( src, erosion_dst, element );

imshow( "erosion demo", erosion_dst );

}/** @function dilation */

void dilation( int, void* )

else if( dilation_elem == 1 )

else if( dilation_elem == 2)

mat element = getstructuringelement( dilation_type,

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

point( dilation_size, dilation_size ) );

///膨脹操作

dilate( src, dilation_dst, element );

imshow( "dilation demo", dilation_dst );

}

可通過滑動條來控制腐蝕膨脹的次數,結果如下:

2. 二值化差分影象

#include #include #include #include using namespace cv;

void ontrackerslid(mat &inputimage1, mat &inputimage2, mat &outputimage, int pos);

int main()

void ontrackerslid(mat &inputimage1, mat &inputimage2, mat &outputimage, int pos)}}

CSS例項演示

css背景 設定頁面的背景顏色 設定不同元素的背景顏色 設定乙個影象作為頁面的背景 錯誤的背景 如何在水平方向重複背景影象 如何定位背景影象 乙個固定的背景 這個不會隨頁面的其餘部分滾動 宣告背景屬性 高階的背景例子 css文字 設定不同元素的文字顏色 文字對齊 移除鏈結下劃線 裝飾文字 控制文字中...

mysql游標例項演示

剛接觸mysql游標的朋友們可能一時半會兒無法理解mysql游標是什麼,游標怎麼用,這邊拿了乙個簡單的mysql游標例項來演示給大家,或許大家看了就能馬上理解什麼是游標,一般什麼情況下使用游標.整體感覺游標用得相對來說比較少,平時也感覺不出它有什麼作用,現在也是朦朦朧的概念吧。談談我對他的理解吧。游...

mysql游標例項演示

剛接觸mysql游標的朋友們可能一時半會兒無法理解mysql游標是什麼,游標怎麼用,這邊拿了乙個簡單的mysql游標例項來演示給大家,或許大家看了就能馬上理解什麼是游標,一般什麼情況下使用游標.整體感覺游標用得相對來說比較少,平時也感覺不出它有什麼作用,現在也是朦朦朧的概念吧。談談我對他的理解吧。游...