0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

復(fù)雜背景下缺陷檢測將Halcon實現(xiàn)轉(zhuǎn)為OpenCV的實例

新機器視覺 ? 來源:OpenCV與AI深度學(xué)習(xí) ? 作者:Color Space ? 2021-06-30 14:05 ? 次閱讀

導(dǎo)讀 本文主要介紹一個復(fù)雜背景下缺陷檢測的實例,并將Halcon實現(xiàn)轉(zhuǎn)為OpenCV。

實例來源

實例來源于51Halcon論壇的討論貼: https://www.51halcon.com/forum.php?mod=viewthread&tid=1173&extra=page%3D1

Halcon實現(xiàn)

參考回帖內(nèi)容,將代碼精簡如下:

read_image (Image, ‘。/1.bmp’)dev_set_line_width (3)threshold (Image, Region, 30, 255)reduce_domain (Image, Region, ImageReduced)mean_image (ImageReduced, ImageMean, 200, 200)dyn_threshold (ImageReduced, ImageMean, SmallRaw, 35, ‘dark’)opening_circle (SmallRaw, RegionOpening, 8)closing_circle (RegionOpening, RegionClosing, 10)connection (RegionClosing, ConnectedRegions)dev_set_color (‘red’)dev_display (Image)dev_set_draw (‘margin’)dev_display (ConnectedRegions)

OpenCV實現(xiàn)

分析實現(xiàn)方法與思路: [1] 原圖轉(zhuǎn)灰度圖后使用核大小201做中值濾波; [2] 灰度圖與濾波圖像做差,然后閾值處理 [3] 圓形核做開運算,去除雜訊 [4] 圓形核做閉運算,缺陷連接 [5] 輪廓查找繪制 實現(xiàn)代碼(Python-OpenCV):

import cv2import numpy as np

img = cv2.imread(‘。/1.bmp’)cv2.imshow(‘src’,img)gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

mean = cv2.medianBlur(gray,201)cv2.imshow(‘mean’,mean)

#diff = cv2.absdiff(gray, mean)diff = gray - meancv2.imshow(‘diff’,diff)cv2.imwrite(‘diff.jpg’,diff)_,thres_low = cv2.threshold(diff,150,255,cv2.THRESH_BINARY)#二值化_,thres_high = cv2.threshold(diff,220,255,cv2.THRESH_BINARY)#二值化thres = thres_low - thres_highcv2.imshow(‘thres’,thres)

k1 = np.zeros((18,18,1), np.uint8)cv2.circle(k1,(8,8),9,(1,1,1),-1, cv2.LINE_AA)k2 = np.zeros((20,20,1), np.uint8)cv2.circle(k2,(10,10),10,(1,1,1),-1, cv2.LINE_AA)opening = cv2.morphologyEx(thres, cv2.MORPH_OPEN, k1)cv2.imshow(‘opening’,opening)closing = cv2.morphologyEx(opening, cv2.MORPH_CLOSE, k2)cv2.imshow(‘closing’,closing)

contours,hierarchy = cv2.findContours(closing, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)

for cnt in contours: (x, y, w, h) = cv2.boundingRect(cnt) if w 》 5 and h 》 5: #cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2) cv2.drawContours(img,contours,-1,(0,0,255),2)

cv2.drawContours(img,cnt,2,(0,0,255),2)cv2.imshow(‘result’,img)

cv2.waitKey(0)cv2.destroyAllWindows()print(‘Done!’)

逐步效果演示

濾波效果:mean

做差效果:diff

閾值效果:thres

開運算效果:opening

閉運算效果:closing

輪廓查找繪制最終結(jié)果:

結(jié)尾語

[1] 算法只是針對這一張圖片,實際應(yīng)用為驗證算法魯棒性還需大量圖片做測試方可; [2] 缺陷檢測如果用傳統(tǒng)方法不易實現(xiàn),可以考慮使用深度學(xué)習(xí)分割網(wǎng)絡(luò)如:mask-rcnn、U-net等

—版權(quán)聲明—

來源:OpenCV與AI深度學(xué)習(xí)

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 濾波
    +關(guān)注

    關(guān)注

    10

    文章

    652

    瀏覽量

    56466
  • OpenCV
    +關(guān)注

    關(guān)注

    29

    文章

    622

    瀏覽量

    41091
  • HALCON
    +關(guān)注

    關(guān)注

    16

    文章

    63

    瀏覽量

    27105
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5422

    瀏覽量

    120597

原文標題:Halcon轉(zhuǎn)OpenCV實例--復(fù)雜背景下缺陷檢測(附源碼)

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于OpenCV的人臉識別系統(tǒng)設(shè)計

    基于OpenCV的人臉識別系統(tǒng)是一個復(fù)雜但功能強大的系統(tǒng),廣泛應(yīng)用于安全監(jiān)控、人機交互、智能家居等多個領(lǐng)域。下面詳細介紹基于OpenCV的人臉識別系統(tǒng)的基本原理、
    的頭像 發(fā)表于 07-11 15:37 ?1.1w次閱讀

    基于AI深度學(xué)習(xí)的缺陷檢測系統(tǒng)

    在工業(yè)生產(chǎn)中,缺陷檢測是確保產(chǎn)品質(zhì)量的關(guān)鍵環(huán)節(jié)。傳統(tǒng)的人工檢測方法不僅效率低下,且易受人為因素影響,導(dǎo)致誤檢和漏檢問題頻發(fā)。隨著人工智能技術(shù)的飛速發(fā)展,特別是深度學(xué)習(xí)技術(shù)的崛起,基于AI深度學(xué)習(xí)的
    的頭像 發(fā)表于 07-08 10:30 ?543次閱讀

    Labview與Halcon圖片Image互相轉(zhuǎn)換

    Labview 與Halcon 聯(lián)合開發(fā) 分享一Labview 與Halcon Image格式相互轉(zhuǎn)換的程序, 整理了一個VI,LV_to _Halconxl.vi,可以直接調(diào)用,相互轉(zhuǎn)換兩種格式
    發(fā)表于 06-27 23:00

    洞察缺陷:精準檢測的關(guān)鍵

    缺陷檢測是生產(chǎn)過程的重要組成部分。它有助于確保產(chǎn)品的高質(zhì)量和滿足客戶的需求。缺陷檢測有許多不同的解決方案,特定應(yīng)用的最佳解決方案取決于所檢測
    的頭像 發(fā)表于 02-26 15:44 ?253次閱讀
    洞察<b class='flag-5'>缺陷</b>:精準<b class='flag-5'>檢測</b>的關(guān)鍵

    NI視覺圖像轉(zhuǎn)halcon圖像

    labview采集圖片可用用它轉(zhuǎn)halcon,就可用使用halcon算子處理了
    發(fā)表于 02-21 16:35

    描繪未知:數(shù)據(jù)缺乏場景的缺陷檢測方案

    了解更多方案細節(jié),歡迎您訪問官網(wǎng)(Neurocle | 友思特 機器視覺 光電檢測 ) 導(dǎo)讀 深度學(xué)習(xí)模型幫助工業(yè)生產(chǎn)實現(xiàn)更加精確的缺陷檢測,但其準確性可能受制于數(shù)據(jù)樣本的數(shù)量。 友思
    的頭像 發(fā)表于 01-25 10:46 ?370次閱讀
    描繪未知:數(shù)據(jù)缺乏場景的<b class='flag-5'>缺陷</b><b class='flag-5'>檢測</b>方案

    在核桃派上實現(xiàn)USB攝像頭的OpenCV顏色檢測

    在前幾周的文章中已經(jīng)介紹過如何在核桃派上用OpenCV讀取圖像并顯示到pyqt5的窗口上,這里在上一篇文章的基礎(chǔ)上,給開發(fā)板加入顏色檢測功能,嘗試圖像中所有藍色的東西都用一個框標記出來。
    的頭像 發(fā)表于 01-20 17:50 ?809次閱讀
    在核桃派上<b class='flag-5'>實現(xiàn)</b>USB攝像頭的<b class='flag-5'>OpenCV</b>顏色<b class='flag-5'>檢測</b>

    HalconOpencv圖像處理庫對比

    在工業(yè)視覺領(lǐng)域?qū)儆诮?jīng)常使用的軟件,相對于opencv的開源精神Halcon屬于商業(yè)非開源項目并且收費。Halcon起源于德國在國內(nèi)的工業(yè)視覺領(lǐng)域市場占用率遙遙領(lǐng)先。
    的頭像 發(fā)表于 12-20 10:30 ?832次閱讀

    電子元件缺陷檢測方法

    電子元件是現(xiàn)代科技中不可或缺的一部分,但由于制造過程中的復(fù)雜性,元件可能出現(xiàn)各種缺陷。為了保證電子元件的質(zhì)量和可靠性,缺陷檢測是必不可少的過程。本文
    的頭像 發(fā)表于 12-18 14:46 ?846次閱讀

    基于OpenVINO+OpenCV的OCR處理流程化實現(xiàn)

    預(yù)處理主要是基于OpenCV、場景文字檢測與識別基于OpenVINO框架 + PaddleOCR模型完成。直接按圖索驥即可得到最終結(jié)果。 OpenCV預(yù)處理主要是完成偏斜矯正、背景矯正
    的頭像 發(fā)表于 11-07 11:21 ?618次閱讀
    基于OpenVINO+<b class='flag-5'>OpenCV</b>的OCR處理流程化<b class='flag-5'>實現(xiàn)</b>

    Ubuntu系統(tǒng)編譯OpenCV4.8源碼記錄

    很多人經(jīng)常會問我是否有在Ubuntu系統(tǒng)化開發(fā)OpenCV C++應(yīng)用的教程,其實我一直沒有,然后我有幾塊開發(fā)板都是基于Linux的,有Jetson系列的開發(fā)板,所以我以前寫過一篇文章如何在
    的頭像 發(fā)表于 10-27 16:07 ?1366次閱讀
    Ubuntu系統(tǒng)<b class='flag-5'>下</b>編譯<b class='flag-5'>OpenCV</b>4.8源碼記錄

    Android系統(tǒng)OpenCV的人臉檢測模塊的設(shè)計

    電子發(fā)燒友網(wǎng)站提供《Android系統(tǒng)OpenCV的人臉檢測模塊的設(shè)計.pdf》資料免費下載
    發(fā)表于 10-23 09:37 ?0次下載
    Android系統(tǒng)<b class='flag-5'>下</b><b class='flag-5'>OpenCV</b>的人臉<b class='flag-5'>檢測</b>模塊的設(shè)計

    墻體機器視覺金屬復(fù)雜表面缺陷的分類及成因

    檢測過程中金屬工件的復(fù)雜表面會增加表面缺陷檢測難度,在本文研究中,金屬工件為手機內(nèi)部芯片屏蔽罩,其表面為平面并具有紋理,同時紋理具有多樣性和不確定性。
    發(fā)表于 10-18 10:44 ?390次閱讀
    墻體機器視覺金屬<b class='flag-5'>復(fù)雜</b>表面<b class='flag-5'>缺陷</b>的分類及成因

    openCV邊緣檢測原理是什么?

    openCV是通過什么原理來實現(xiàn)邊緣檢測
    發(fā)表于 10-10 06:21

    【KV260視覺入門套件試用體驗】三、缺陷檢測

    一、簡介 缺陷檢測加速應(yīng)用程序是一個機器視覺應(yīng)用程序,它通過使用計算機視覺庫功能自動檢測芒果中的缺陷并在高速工廠管道中進行分類。 缺陷
    發(fā)表于 09-26 15:17