HALCON示例程序check_hazelnut_wafers.hdev威化餅干質量檢測(完整與否,是否破碎)

HALCON示例程序check_hazelnut_wafers.hdev威化餅干質量檢測(完整與否,是否破碎)

示例程序源碼(加注釋)

  • 讀入圖片
    read_image (Image, ‘food/hazelnut_wafer_01’)

  • 關閉窗口
    dev_close_window ()

  • 根據給定的長寬比打開窗口
    dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)

  • 關閉圖像實時更新
    dev_update_window (‘off’)

  • 顯示線寬設置為3
    dev_set_line_width (3)

  • 區域顯示方式為邊緣模式
    dev_set_draw (‘margin’)

  • 設置字體顯示格式
    set_display_font (WindowHandle, 20, ‘mono’, ‘true’, ‘false’)

  • 循環檢測
    for Index := 1 to 24 by 1

    • 讀入圖片
      read_image (Image, ‘food/hazelnut_wafer_’ + Index$’.02’)
    • binary_threshold - 使用二進制閾值分割圖像
    • 函數原型:binary_threshold(Image:Region:Method,LightDark:UsedThreshold)
    • Image:輸入圖像;Region:輸出區域;Method:分割方法;
    • LightDark:選取亮區還是暗區;UsedThreshold:返回分割時使用的閾值
    • https://www.cnblogs.com/baiyy-daheng/p/8931931.html
      方法一:掃描圖像的每個像素值,值小于127的將像素值設為0(黑色),
      值大于等于127的像素值設為255(白色)。該方法的好處是計算量少速度快。
      方法二:計算像素的平均值K,掃描圖像的每個像素值如像素值大于K像素值設為255(白色),
      值小于等于K像素值設為0(黑色)。
      方法三:使用直方圖方法來尋找二值化閾值,直方圖是圖像的重要特質,
      直方圖方法選擇二值化閾值主要是發現圖像的兩個最高的峰,
      然后在閾值取值在兩個峰之間的峰谷最低處。

      binary_threshold (Image, Foreground, ‘smooth_histo’, ‘light’, UsedThreshold)
    • 對選取區域使用圓形區域進行開運算
      opening_circle (Foreground, FinalRegion, 8.5)
    • area_holes - 計算區域的孔面積。
      area_holes (FinalRegion, AreaHoles)
    • 求取區域的矩形度。
      rectangularity (FinalRegion, Rectangularity)
      dev_display (Image)
    • 如果孔洞過多面積超過300或者矩形度小于0.92,認為破損。
      if (AreaHoles > 300 or Rectangularity < 0.92)
      dev_set_color (‘red’)
      Text := ‘Not OK’
      else
      dev_set_color (‘forest green’)
      Text := ‘OK’
      endif
      dev_display (FinalRegion)
      disp_message (WindowHandle, Text, ‘window’, -1, -1, ‘’, ‘false’)
      if (Index < 24)
      disp_continue_message (WindowHandle, ‘black’, ‘true’)
      stop ()
      endif
      endfor

處理思路

這個例子的思路非常簡單,二值化求取餅干區域,對餅干求取孔洞面積與矩形度,通過這兩個參數實現餅干的篩選。一個新的閾值分割方法binary_threshold 。學習到了求取孔洞面積的直接方法area_holes 。求取矩形度算子rectangularity 。

后記

大家有什么問題可以向我提問哈,我看到了第一時間回復,希望在學習的路上多多結交良師益友。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255270.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255270.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255270.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Windows Media Center .MCL文件代碼執行漏洞(MS16-059)

blast 2016/06/21 13:180x00 簡介漏洞作者EduardoBraun Prado在今年早期發現了WMP的.MCL文件又存在一個可以導致遠程代碼執行的漏洞。為什么要說又呢&#xff0c;因為這個東西實在是“不爭氣”&#xff0c;同一個地方出現了多次繞過導致遠程代碼執行的問題。0x01 歷史A――MS1…

SCARA機器人與 DELTA機器人

1、SCARA機器人SCARA&#xff08;Selective Compliance Assembly Robot Arm&#xff0c;中文譯名&#xff1a;選擇順應性裝配機器手臂&#xff09;是一種圓柱坐標型的特殊類型的工業機器人。1978年&#xff0c;日本山梨大學牧野洋發明SCARA&#xff0c;該機器人具有四個軸和四個…

一直以來都沒直視的輪播-_-

一直以來做項目碰到輪播圖我都是去網站上找現成插件拿來用&#xff0c;現成的插件1是省時間&#xff0c;拿來改改尺寸改改參數就能直接用&#xff0c;2是現在的插件確實很強大&#xff0c;對于我一個剛剛學習前端的人來說&#xff0c;牛人寫的輪播我看懂也要花些功夫&#xff0…

HALCON示例程序circles.hdev邊界輪廓的圓形擬合

HALCON示例程序circles.hdev邊界輪廓的圓形擬合 小哥哥小姐姐覺得有用點個贊唄&#xff01; 示例程序源碼&#xff08;加注釋&#xff09; 讀入圖片 read_image (Image, ‘double_circle’)窗口初始化 dev_close_window () get_image_size (Image, Width, Height) dev_open…

asp.net 微信企業號辦公系統-流程設計--保存與發布

如果流程未設計完時可以先保存&#xff0c;以后再打開接著設計。點擊工具欄上的保存按鈕即可保存當前流程設計: 如果下次要接著設計&#xff0c;則可以打開該流程繼續設計&#xff1a; 如果流程設計完成&#xff0c;可以點擊安裝按鈕來發布流程&#xff0c;流程安裝成功后即加入…

search-guard 在 Elasticsearch 2.3 上的運用

uni3orns 2016/06/23 11:09Author&#xff1a;uni3orns參考內容&#xff1a;kibana.logstash.es/content/ela…groups.google.com/forum/#!for…github.com/floragunnco…此文章基于以下軟件版本&#xff0c;不同版本可能略有差異&#xff1a;elasticsearch 2.3.3search-guard…

HALCON示例程序class_2dim_sup.hdev使用二維像素分類對圖像進行分割

HALCON示例程序class_2dim_sup.hdev使用二維像素分類對圖像進行分割 示例程序源碼&#xff08;加注釋&#xff09; 定義Interactive并賦值&#xff0c;0&#xff1a;固定框&#xff1b;1&#xff1a;手工繪制框。 Interactive : 0 讀入圖片 read_image (Image, ‘ic’) 關閉…

sys

sys.argv 命令行參數List&#xff0c;第一個元素是程序本身路徑 sys.exit(n) 退出程序&#xff0c;正常退出時exit(0) sys.version 獲取Python解釋程序的版本信息 sys.maxint 最大的Int值 sys.path 返回模塊的搜索路徑&#xff0c;初…

修改環境變量

在path變量后添加&#xff0c;對變量長度無限制&#xff0c;需要重啟后生效reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_SZ /d "%path%;c:\newpath;whatever" /freg save "HKLM\SYSTEM\CurrentCont…

Canny邊緣檢測算法原理及其VC實現詳解(二)

3、 Canny算法的實現流程 由于本文主要目的在于學習和實現算法&#xff0c;而對于圖像讀取、視頻獲取等內容不進行闡述。因此選用OpenCV算法庫作為其他功能的實現途徑&#xff08;關于OpenCV的使用&#xff0c;作者將另文表述&#xff09;。首先展現本文將要處理的彩色圖片。 …

IDEA注冊jar包使用和常用插件

IDEA注冊jar包使用 點擊獲取下載地址或生成注冊碼 一、安裝完成后&#xff0c;先不啟動&#xff0c;首先如下圖修改相關的地方。 二、啟動IDEA&#xff0c;并且激活IDEA IDEA插件倉庫 IntelliJ IDEA Plugins 一、Maven Helper 我一般用這款插件來查看maven的依賴樹。在不使用此…

HALCON示例程序class_2dim_unsup.hdev基于二維直方圖的聚類分類

HALCON示例程序class_2dim_unsup.hdev基于二維直方圖聚類分類的顏色分類 示例程序源碼&#xff08;加注釋&#xff09; 讀入圖片 read_image (Image, ‘patras’)關閉窗口 dev_close_window ()得到圖片尺寸大小 get_image_size (Image, Width, Height)打開窗口 dev_open_wind…

Android Monkey壓力測試

一. JAVA環境的搭建 安裝jdk-8u151-windows-x64,可以到官網或者應用中心下載.JAVA環境變量的搭建: 在"我的電腦"-"屬性"-"高級"-"環境變量"中,點擊新建,填寫變量名為JAVA_HOME,變量值為JAVA安裝的路徑.在系統變量中找到Path,點擊編輯,…

bzoj 4517: [Sdoi2016]排列計數

4517: [Sdoi2016]排列計數 Time Limit: 60 Sec Memory Limit: 128 MBSubmit: 637 Solved: 396[Submit][Status][Discuss]Description 求有多少種長度為 n 的序列 A&#xff0c;滿足以下條件&#xff1a;1 ~ n 這 n 個數在序列中各出現了一次若第 i 個數 A[i] 的值為 i&#x…

idea compare功能 之一次bug修復

一次bug修復 最近開發完了一套單點系統&#xff0c;jenkins打包上傳到服務器就出問題&#xff0c; 可以啟動但是不能正常工作。 首先想到的是環境不一樣&#xff0c; 于是把jenkins的jdk和maven都調整和本機大版本相同。 當然肯定是沒卵用的&#xff0c; 于是查看日志 Class pa…

黑白CCD成像不理想,如何補色

黑白CCD成像不理想&#xff0c;如何補色

HALCON示例程序class_ndim_box.hdev基于多通道圖像的分類

HALCON示例程序class_ndim_box.hdev基于多通道圖像的分類 示例程序源碼&#xff08;加注釋&#xff09; 讀入圖片 read_image (Image, ‘ic’)創建一個新的分類器 create_class_box (ClassifHandle)獲取圖片大小 get_image_size (Image, Width, Height)關閉窗口 dev_close_wi…

gcc編譯系統

一、 C語言編譯過程 C語言的編譯過程可分為四個階段&#xff1a; 1、預處理&#xff08;Preprocessing&#xff09; 對源程序中的偽指令&#xff08;即以#開頭的指令&#xff09;和特殊符號進行處理的過程。 偽指令包括&#xff1a;1&#xff09;宏定義指令&#xff1b; 2&…

自制反匯編逆向分析工具 迭代第六版本 (五)

本工具從最初版的跳轉分布圖只為了更直觀地分析反匯編代碼的分支結構&#xff0c;第三版開始對直觀圖進行逆向分支代碼的輸出&#xff0c;第四版對分支輸出策略的一些探索&#xff0c;第五版結合之前的探索進行改進。第六版在現在功能的基礎上進行增強&#xff0c;利用第六版&a…

模型搜索 及 輪廓搜索 的原理

模型搜索 及 輪廓搜索 的原理