Halcon基礎常用運算元

2021-09-25 18:55:47 字數 2981 閱讀 5876

下面是在學習過程中,經常使用的一些運算元,先慢慢寫下來

首先介紹一些halcon的一些開啟視窗匯入的一些基本運算元

建立視窗的三種方式

第一種:

dev_open_window (0, 0, 512, 512, 'black', windowhandle)

dev_display (image)

開啟乙個固定大小的視窗 由(row,cloum)[0,0]到[512,512]

第二種:

dev_open_window_fit_image (image, 0, 0, -1, -1, windowhandle1)

dev_set_window (windowhandle1)

dev_display (image)

開啟具有給定最小和最大範圍的新圖形視窗,以便保留給定影象的縱橫比。

widthlimit設定為-1,則使用以下預設值:[500,800]。

heightlimit設定為-1,則使用以下預設值:[400,600]。

如果根據視窗寬高限制無法建立視窗,則忽略最小視窗大小的限制

可以根據幫助文件來了解更加仔細的內容

第三種:

ev_open_window_fit_size (0, 0, width, height, -1, -1, windowhandle2)

dev_set_window (windowhandle2)

dev_display (image)

開啟具有給定最小和最大範圍的新圖形視窗,以便保留給定影象大小的寬高比

widthlimit設定為-1,則使用以下預設值:[500,800]。

heightlimit設定為-1,則使用以下預設值:[400,600]。

如果根據視窗寬高限制無法建立視窗,則忽略最小視窗大小的限制

2.接下來就是一些對的操作:

gen_circle (cricle1, 224.5, 250.5, 131.727)

complement (cricle1, regioncomplement)

上述**是對區域進行取反,這裡注意的是,是對視窗的全域性進行取反

gen_circle (cricle1, 122.5, 126.5, 69.7711)

gen_circle (cricle2, 122.5, 179.5, 73.9256)

difference (cricle1, cricle2, regiondifference)

最後乙個運算元,就可以當作circle1-cricle2 這樣的乙個作法,可以把重疊的部分給減去掉 用數學的上的式子表達的就是 c1-(c1∩c2) 這個表達比較明確.

symm_difference(cricle1, cricle2 ,regiondifference)
直接上數學表示式把 (c1∪c2)-(c1∩c2) 簡而言之就是把相交的部分除去

3、接下來就是閾值操作了,這裡介紹集中閾值的方法

auto_threshold (image, regions, sigma)
*根據影象的灰度直方圖來確定閾值,這裡的sigma是高斯濾波器,用於直方圖的平滑.

binary_threshold (image, regionmaxseparabilitylight, 'max_separability', 'dark', usedthreshold)
二值化即是將畫素分為0和255兩個值

使用二值化閾值分割影象

如果lightdark =「light」,則選擇灰度值大於或等於最佳閾值的所有畫素。

如果lightdark =「dark」,則選擇灰度值小於的最佳閾值的 所有畫素。

通過選擇method =『max_separability』,可以呼叫灰度直方圖的自動閾值。

該演算法首先計算影象的直方圖,然後使用統計矩來找到將畫素劃分為前景和背景的最佳閾值,

並使這兩個類之間的可分離性最大化。此方法僅適用於位元組和uint2影象。

char_threshold (image, image, characters, 6, 95, threshold)
閾值分割提取字元,**主要應用是在明亮的紙上分割黑色字元單通道影象

dual_threshold (imagesub, regiondiff, 500, 20, 10)
將有符號影象分割為正負兩個區域

dyn_threshold (image, imagemean, regiondynthresh, 15, 'not_equal')
用區域性閾值來分割影象。

第乙個輸入引數:原始影象

第二個輸入引數:濾波後的影象

第三個輸出引數:分割後的區域

第四個輸入引數:補償值,範圍在5到40之間比較有用

第五個輸入引數:提取區域的型別,是亮的區域,或暗的區域,或相似區域

threshold (image, region, 0, 150)
這個就不用多講了,運用的就是灰度值

var_threshold (image, region, 15, 15, 1.0, 40, 'dark')
通過區域性平均值和標準偏差進行閾值影象。試用場合不均勻的照明或雜訊的影象

第乙個輸入引數:輸入影象

第二個輸出引數:分割後的區域

第三個輸人引數:均值和標準差的掩碼寬度

第四個輸入引數:均值和標準差的掩碼高度

第五個輸入引數:標準差因子

第六個輸入引數:最小灰度值和均值之差

第七個輸入引數:提取區域的型別,是亮的區域,或暗的區域,或相似區域,或不相似區域

未完待續。。。

HALCON常用運算元(HALCON13 0)

halcon常用運算元 halcon13.0 chapter 9 develop chapter 10 file 10.1 images example 1 讀一副影象 read image image,mreut 2 將3幅影象讀入影象陣列 read image images,ic0 ic1 ic...

Halcon常用陣列運算元

1 求陣列元素的最大值 tuple max array,max 2 求陣列元素的最小值 tuple min array,min 3 求陣列元素的平均值 tuple mean array,mean 4 求陣列元素的絕對值 tuple abs array,abs 5 兩個陣列相加 tuple add a...

halcon常用運算元(1)

sub image imageconverted1,imageconverted2,imagesub,1,0 一幅圖減另一幅圖。用一幅圖的灰度減另一幅的灰度成新的一幅圖。mult image image,imagepart,imageresult,0.015,0 一幅圖加一幅成的一幅圖 conver...