HALCON示例程序color_fuses.hdev通过颜色对保险丝进行分类
生活随笔
收集整理的這篇文章主要介紹了
HALCON示例程序color_fuses.hdev通过颜色对保险丝进行分类
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
HALCON示例程序color_fuses.hdev通過顏色對保險絲進行分類
示例程序源碼(加注釋)
- 關(guān)于顯示類函數(shù)解釋
dev_update_window (‘off’) - 定義字符串變量并初始化
FuseColors := [‘Orange’,‘Red’,‘Blue’,‘Yellow’,‘Green’]
FuseTypes := [5,10,15,20,30] - 在hsv的H分量重Orange閾值為 10-30, Red閾值為 0-10以此類推
HueRanges := [10,30,0,10,125,162,30,64,96,128]
Count := 0
dev_close_window ()
dev_open_window (0, 0, 800, 600, ‘black’, WH)
while (Count <= 4)- 讀入圖片
read_image (Image, ‘color/color_fuses_0’ + Count)
dev_display (Image) - 設(shè)置光標(biāo)位置,并打印字符串,也是顯示類函數(shù)
set_tposition (WH, 12, 512)
write_string (WH, ‘color/color_fuses0’ + Count + ‘.png’) - 下邊的兩句話是將三通道彩色圖片轉(zhuǎn)換為HSV通道。第一步先將彩色圖片分成RGB三通道圖片,之后進行RGB向HSV轉(zhuǎn)化。
decompose3 (Image, Red, Green, Blue)
trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, ‘hsv’) - 對S空間圖像進行二值化操作
threshold (Saturation, Saturated, 60, 255) - 使用二值化后的區(qū)域來縮小H空間內(nèi)的圖像定義域,通俗點的話是把保險絲摳圖扣出來
reduce_domain (Hue, Saturated, HueSaturated)
for Fuse := 0 to |FuseTypes| - 1 by 1- 通過程序開始時定義的H空間分割閾值進行二值化
threshold (HueSaturated, CurrentFuse, HueRanges[Fuse * 2], HueRanges[Fuse * 2 + 1]) - 分割連通域
connection (CurrentFuse, CurrentFuseConn) - 填充孔洞
fill_up (CurrentFuseConn, CurrentFuseFill) - 通過面積篩選保險絲
select_shape (CurrentFuseFill, CurrentFuseSel, ‘a(chǎn)rea’, ‘a(chǎn)nd’, 6000, 20000) - 求取區(qū)域的坐標(biāo)
area_center (CurrentFuseSel, FuseArea, Row1, Column1)
dev_set_color (‘magenta’)
for i := 0 to |FuseArea| - 1 by 1
set_tposition (WH, Row1[i], Column1[i])
write_string (WH, FuseColors[Fuse] + ’ ’ + FuseTypes[Fuse] + ’ Ampere’)
endfor
set_tposition (WH, 24 * (Fuse + 1), 12)
dev_set_color (‘slate blue’)
write_string (WH, FuseColors[Fuse] + ’ Fuses: ’ + |FuseArea|)
endfor
stop ()
Count := Count + 1
endwhile
dev_update_window (‘on’)
- 通過程序開始時定義的H空間分割閾值進行二值化
- 讀入圖片
處理思路
這個例子是將三通道的RGB圖像轉(zhuǎn)化到HSV空間進行分割的例子,使用 decompose3 、trans_from_rgb 兩個算子實現(xiàn)RGB圖像轉(zhuǎn)化到HSV空間作用,使用HSV空間內(nèi)區(qū)域特征更加明顯的特點進行分割。
后記
大家有什么問題可以向我提問哈,我看到了第一時間回復(fù),希望在學(xué)習(xí)的路上多多結(jié)交良師益友。
總結(jié)
以上是生活随笔為你收集整理的HALCON示例程序color_fuses.hdev通过颜色对保险丝进行分类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python线程安全的单例模式
- 下一篇: Atcoder Contest069F: