1樓:匿名使用者
1、cvloadimage:將影象檔案載入至記憶體; 2、cvnamedwindow:在螢幕上建立乙個視窗; 3、cvshowimage:
在乙個已建立好的視窗中顯示影象; 4、cvwaitkey:使程式暫停,等待使用者觸發乙個按鍵操作; 5、cvreleaseimage:釋放影象檔案所分配的記憶體;...
opencv中有幾個函式不懂是什麼意思
2樓:匿名使用者
1) iplimage* cvcreateimage( cvsize size, int depth, int channels );
cvcreateimage是opencv中的乙個函式。opencv是intel公司支援的開放計算機視覺庫。
cvcreateimage:
建立頭並分配資料
iplimage* cvcreateimage( cvsize size, int depth, int channels );
引數說明:
size 影象寬、高.
depth 影象元素的位深度,可以是下面的其中之一:
ipl_depth_8u - 無符號8位整型
ipl_depth_8s - 有符號8位整型
ipl_depth_16u - 無符號16位整型
ipl_depth_16s - 有符號16位整型
ipl_depth_32s - 有符號32位整型
ipl_depth_32f - 單精度浮點數
ipl_depth_64f - 雙精度浮點數
channels:
每個元素(畫素)通道數.可以是 1, 2, 3 或 4.通道是交叉訪問的,例如通常的彩色影象資料排列是:
b0 g0 r0 b1 g1 r1 ... 雖然通常 ipl 圖象格式可以存貯非交叉訪問的影象,並且一些opencv 也能處理他, 但是這個函式只能建立交叉訪問影象.
函式 cvcreateimage 建立頭並分配資料,這個函式是下列的縮寫型式:
header = cvcreateimageheader(size,depth,channels);
cvcreatedata(header);
2) iplimage* cvcloneimage( const iplimage* image );
在使用函式之前,不用記憶體,即不用。該函式會自己開一段記憶體,然後複製好image裡面的資料,然後把這段記憶體中的資料返回.
例如iplimage *src;
iplimage *dst;
dst = cvcloneimage(src);
就是直接把src這個影象複製給dst,不用給dst記憶體空間了,即不用寫dst = cvcreateimage(cvgetsize(src),8,3).
3)void cverode( const cvarr* src, cvarr* dst, iplconvkernel* element=null, int iterations=1 );
src輸入影象.
dst輸出影象.
element
用於腐蝕的結構元素。若為 null, 則使用 3×3 長方形的結構元素
iterations
腐蝕的次數
函式 cverode 對輸入影象使用指定的結構元素進行腐蝕,該結構元素決定每個具有最小值象素點的鄰域形狀:
dst=erode(src,element): dst(x,y)=min((x',y') in element))src(x+x',y+y')
函式可以是本地操作,不需另外開闢儲存空間的意思。腐蝕可以重複進行 (iterations) 次. 對彩色影象,每個彩色通道單獨處理。
createstructuringelementex 建立結構元素;releasestructuringelement 刪除結構元素。
4) void cvabsdiff( const cvarr* src1, const cvarr* src2, cvarr* dst );
opencv 中計算兩個陣列差的絕對值的函式。
void cvabsdiff( const cvarr* src1, const cvarr* src2, cvarr* dst );
src1
第乙個原陣列
src2
第二個原陣列
dst輸出陣列
函式 cvabsdiff 計算兩個陣列差的絕對值
dst(i)c = abs(src1(i)c - src2(i)c).
所有陣列必須有相同的資料型別相同的大小(或roi大小)
5)void cvthreshold( const cvarr* src, cvarr* dst, double threshold, double max_value, int threshold_type );
cvthreshold是opencv庫中的乙個函式
作用:函式 cvthreshold 對單通道陣列應用固定閾值操作。該函式的典型應用是對灰度影象進行閾值操作得到二值影象。
(cvcmps 也可以達到此目的) 或者是去掉雜訊,例如過濾很小或很大象素值的影象點。本函式支援的對影象取閾值的方法由 threshold_type 確定。
形式:void cvthreshold( const cvarr* src, cvarr* dst, double threshold, double max_value, int threshold_type );
src:原始陣列 (單通道 , 8-bit of 32-bit 浮點數)。dst:輸出陣列,必須與 src 的型別一致,或者為 8-bit。
threshold:閾值
max_value:使用 cv_thresh_binary 和 cv_thresh_binary_inv 的最大值。
threshold_type:閾值型別 threshold_type=cv_thresh_binary:
如果 src(x,y)>threshold ,dst(x,y) = max_value; 否則,des(x,y)=0;
threshold_type=cv_thresh_binary_inv:
如果 src(x,y)>threshold,dst(x,y) = 0; 否則,dst(x,y) = max_value.
threshold_typ
6)void cvdilate( const cvarr* src, cvarr* dst, iplconvkernel* element=null, int iterations=1 );
void cvdilate( const cvarr* src, cvarr* dst, iplconvkernel* element=null, int iterations=1 );
src輸入影象.
dst輸出影象.
element
結構元素。若為 null, 則使用預設的3×3 長方形,錨點在中間的結構元素,進行膨脹運算
iterations
膨脹的次數
函式 cvdilate 對輸入影象使用指定的結構元進行膨脹,該結構決定每個具有最大值象素點的鄰域形狀。
說明:使用任意結構元素膨脹影象,函式在呼叫中可以在輸入影象上直接進行操作,如採用如下方式呼叫:cvdilate (img1, img1);
膨脹可以重複進行 (iterations) 次. 對彩色影象,每個彩色通道單獨處理。
7) createstructuringelementex
cvcreatestructuringelementex
建立結構元素
iplconvkernel* cvcreatestructuringelementex( int cols, int rows, int anchor_x, int anchor_y,
int shape, int* values=null );
cols
結構元素的列數目
rows
結構元素的行數目
anchor_x
錨點的相對水平偏移量
anchor_y
錨點的相對垂直偏移量
shape
結構元素的形狀,可以是下列值:
cv_shape_rect, 長方形元素;
cv_shape_cross, 交錯元素 a cross-shaped element;
cv_shape_ellipse, 橢圓元素;
cv_shape_custom, 使用者自定義元素。這種情況下引數 values 定義了 mask,即象素的那個鄰域必須考慮。
values
指向結構元素的指標,它是乙個平面陣列,表示對元素矩陣逐行掃瞄。(非零點表示該點屬於結構元)。如果指標為空,則表示平面陣列中的所有元素都是非零的,即結構元是乙個長方形(該引數僅僅當shape引數是 cv_shape_custom 時才予以考慮)。
函式 cv createstructuringelementex 分配和填充結構 iplconvkernel, 它可作為形態操作中的結構元素。舉個例子比較好說清楚
比如乙個圖
00000
01110
00000
用乙個cvcreatestructuringelementex( 3,1,0 0,cv_shape_rect)的元素來腐蝕,則結果為
00000
01000
00000
而用乙個cvcreatestructuringelementex( 3,1,1 0,cv_shape_rect)的元素來腐蝕,則結果為
00000
00100
00000
理解:cvcreatestructuringelementex( 3,1,0 0,cv_shape_rect)中的3,1表示要腐蝕的物件是乙個3列1行的矩陣,如果該矩陣裡元素全為非零,則將其轉化為同樣大小只包含乙個非零元素,而該非零元素的位置是(0,0)。同理cvcreatestructuringelementex( 3,1,1 0,cv_shape_rect)中的3,1表示要腐蝕的物件是乙個3列1行的矩陣,如果該矩陣裡元素全為非零,則將其轉化為同樣大小只包含乙個非零元素,而該非零元素的位置是(1,0)
十二生肖中有幾個是姓氏呢,十二生肖中哪幾個是直接就是姓氏的?
朋友 你好。十二生肖中的姓氏 地支 子 醜 寅 卯 辰 午 未 申 酉 戌 亥。生肖 牛 虎 龍 蛇 馬 羊 雞。全部都是姓氏 每個字都可以在中國姓氏裡找到。包括 豬,蛇,兔,狗,雞,鼠等等 十二生肖中有 牛 虎 龍 馬 羊 猴 雞 這幾個姓氏 按舊版應該就是 未 和 申 新版的應該就是 牛 龍 和...
108位梁山好漢中有幾個是女人梁山好漢有幾個女的
水滸傳 108位好漢中有3位是女人。1 扈三娘 扈三娘首次在 水滸傳 中被提及是當楊雄 石秀 時遷打算上梁山,卻火燒了祝家店,時遷被捉之後,楊雄恰好碰見自己曾救過的鬼臉兒杜興。杜興此時在獨龍岡李應家的李家莊做主管,便告訴楊雄 石秀此處祝家莊 扈家莊 李家莊的情況。說到扈家莊時,便說莊主扈太公有乙個兒...
我有硬幣,上面的文字看不懂,還有幾個英文是這樣的UNITED ARAB EMIRATES背面還有象酒壺的東西
您的問題,有乙個硬幣,上面的文字看不懂,還有幾個英文是這樣的 united arab emirates 背面還有乙個象酒壺的東西,是阿拉伯聯合大公國 阿聯酋 的硬幣 可以當乙個品種收藏!是阿聯酋的1迪拉姆的流通幣。體積比較大的是舊版,錢幣市場上的 是8 10元,體積比較小的是新版,是5 6元。你的硬...