結構元素IplConvKernel及操作

2021-06-18 01:05:58 字數 1543 閱讀 8875

在opencv中,定義了乙個結構用於描述形態學中的結構元素。該結構定義如下:

typedef struct _iplconvkernel

iplconvkernel;

在這裡,對其中的變數定義做一簡單的描述:

ncols,nrows:結構元素的行寬與列高;

anchorx,anchory:結構元素原點(錨點)的位置座標,水平,垂直;

nshiftr:用於表示結構元素的形狀型別,有如下幾個值:

#define  cv_shape_rect      0

#define  cv_shape_cross     1

#define  cv_shape_ellipse   2

#define  cv_shape_custom    100

分別表示矩形,十字,橢圓和自定義。

values:當nshiftr為自定義時,value是指向結構元素資料的指標,如果結構元素的大小定義為8*6,那麼values為48長的int陣列,值為0或1。

在opencv中定義了兩個關於結構元素iplconvkernel的操作,用於結構元素的建立和釋放。

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, 它可作為形態操作中的結構元素。

cvreleasestructuringelement   刪除結構元素

void cvreleasestructuringelement( iplconvkernel** element );

element  被刪除的結構元素的指標

函式 cvreleasestructuringelement 釋放結構 iplconvkernel 。如果 *element 為 null, 則函式不作用。

其他結構元素的擴充套件操作參見:

HTML元素結構

html元素又叫根元素,是所有元素的祖先元素,它包含head元素和body元素。一.head元素 head又叫做文件頭元素,其中可以包含其他元素 用來描述頁面的附加資訊 不會在頁面中顯示。head元素通常包含以下元素 1.title元素 標識文件標題,會顯示在瀏覽器的標題欄或者標籤頁上。擴充套件 u...

結構元素的擴充套件操作

在介紹新的擴充套件形態學變換函式之前,介紹一組結構元素的擴充套件操作,包括結構元素的拷貝 取反和取對映操作。這些操作將在後面的形態學變換中經常出現。函式 lhstructuringelementcopy 功能 獲得形態學結構元素的拷貝 引數 se 輸入結構元素 返回 se的拷貝,注意 在不使用時需要...

結構元素的擴充套件操作

在介紹新的擴充套件形態學變換函式之前,介紹一組結構元素的擴充套件操作,包括結構元素的拷貝 取反和取對映操作。這些操作將在後面的形態學變換中經常出現。函式 lhstructuringelementcopy 功能 獲得形態學結構元素的拷貝 引數 se 輸入結構元素 返回 se的拷貝,注意 在不使用時需要...