opencv中有幾個函式不懂是什麼意思

2021-03-04 08:56:44 字數 4961 閱讀 1650

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元。你的硬...