乙個簡單的提取飛機目標影象(二值圖)輪廓的程式
#include
#include
#include
#include
iplimage* g_image = null;
iplimage* g_gray =null;
int g_thresh = 100;
cvmemstorage* g_storage = null;
char name[1][80];
int presskey;
int main( int argc, char** argv )
else
cvseq* contours = 0;
cvcvtcolor( g_image, g_gray, cv_bgr2gray );
//cvthreshold( g_gray, g_gray, g_thresh, 255, cv_thresh_binary );
cvfindcontours( g_gray, g_storage, &contours );
cvzero( g_gray );
if( contours )
cvshowimage( "contours", g_gray );
presskey=cvwaitkey();
printf("%c is pressed\n",presskey);
switch( presskey )
cvdestroywindow( "contours" );
cvreleaseimage( &g_image );
cvreleaseimage( &g_gray );
}else
return -1;
return 0;
}使用f15戰機的二值影象進行了實驗,下面是原圖和結果圖:
opencv 通過輪廓識別提取檢測目標
1.轉換為灰度圖 2.高斯濾波 void gaussianblur inputarray src,輸入影象 outputarray dst,輸出影象 size ksize,高斯濾波器模板大小 double sigmax,高斯濾波在橫線的濾波係數 double sigmay,高斯濾波在豎向的濾波係數 ...
Opencv實現輪廓提取功能
輪廓 乙個輪廓代表一系列的點 畫素 這一系列的點構成乙個有序的點集,所以可以把乙個輪廓理解為乙個有序的點集。在opencv中,提供了乙個函式返回乙個有序的點集或者有序的點集的集合 指多個有序的點集 函式findcontour是從二值影象中來計算輪廓的,一般使用canny 函式處理後的影象,因為這樣的...
opencv學習 9 輪廓提取
輪廓提取 主要針對二值影象 1 輪廓分為外輪廓和內輪廓 如下圖 外輪廓以c開頭 內輪廓以h開頭 其中img是二值影象,storage是記憶體儲存序列,contours指向儲存的第乙個輪廓,cvmemstorage storage cvcreatememstorage 0 記憶體儲存序列 cvseq ...