灰度化處理影象
主要用到
plimage* cvcreateimage( cvsize size, int depth, int channels )
相當於如下的步驟:
header = cvcreateimageheader(size,depth,channels);
cvcreatedata(header);
具體的**如下:
#include "cv.h"
#include "highgui.h"
int main( int argc, char** ar** )
return -1;
}
編譯:
g++ -ggdb `pkg-config opencv --cflags --libs` gray.c -o gray
執行 :./gray ../picture/lena.jpg gray.jpg
原圖:
效果圖:
邊緣檢測:
使用到的函式為:
void cvcanny( const cvarr* image, cvarr* edges, double threshold1, double threshold2, int aperture size=3 );
各引數的含義如下:
image 單通道輸入影象.
edgee 單通道儲存邊緣的輸出影象
threshold1 第乙個閾值
threshold2 第二個閾值
aperture_size sobel 運算元核心大小
函式 cvcanny 採用 canny 演算法發現輸入影象的邊緣而且在輸出影象中標識這些邊緣。threshold1和threshold2 當中的小閾值用來控制邊緣連線,大的閾值用來控制強邊緣的初始分割。cvcanny只接受單通道影象作為輸入,故載入影象時,cvloadimage(src,iscolor),第二個引數必須設為0.
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
int main( int argc, char** ar** )
return -1;
}
編譯:
g++ -ggdb `pkg-config opencv --cflags --libs` canny.c -o canny
執行 :./canny ../../../../../pictures/wolf.jpg
效果圖:
輪廓檢測
函式模型如下:
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
int main( int argc, char** ar** )
else
cvdrawcontours(pcontourimg, contour, cv_rgb(0,0,255), cv_rgb(255, 0, 0),2, 2, 8);
cvshowimage( "contour", pcontourimg );
cvwaitkey(0);
cvdestroywindow( "src" );
cvdestroywindow( "contour" );
cvreleaseimage( &pimg );
cvreleaseimage( &pcontourimg );
cvreleasememstorage(&storage);
return 0;
}
編譯執行後的效果如下圖:
git 入門級的幾個操作
做測試也避免不了耍耍 code,最終也避免不了用git,記錄幾個常用的命令,希望最終能記錄個git 完整的使用過程 安裝完了git 先執行 1 git init 這個用來初始化你本地git repository 2.git add test.txt 已經對 test.txt檔案有了改動,那麼用git...
經典 Linux菜鳥入門級命令大全
2.ls 檢視目錄或者檔案的屬 列舉出任一目錄下面的檔案 eg ls usr man ls l a.d表示目錄 directory 如果是乙個 表示是檔案,如果是l則表示是乙個連線檔案 link b.表示檔案或者目錄許可許可權.分別用可讀 r 可寫 w 可執行 x 3.cp 拷貝檔案 eg cp f...
線段樹的入門級
線段樹是一種二叉搜尋樹,與區間樹相似,它將乙個區間劃分成一些單元區間,每個單元區間對應線段樹中的乙個葉結點。對於線段樹中的每乙個非葉子節點 a,b 它的左兒子表示的區間為 a,a b 2 右兒子表示的區間為 a b 2 1,b 因此線段樹是平衡二叉樹,最後的子節點數目為n,即整個線段區間的長度。使用...