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游標例項來演示給大家,或許大家看了就能馬上理解什麼是游標,一般什麼情況下使用游標.整體感覺游標用得相對來說比較少,平時也感覺不出它有什麼作用,現在也是朦朦朧的概念吧。談談我對他的理解吧。游...