日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HALCON示例程序color_fuses.hdev通过颜色对保险丝进行分类

發(fā)布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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’)

處理思路

這個例子是將三通道的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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。