print_inspection 印刷檢測 Halcon 同類軟件 Malcon CompareVariationModel


    在印刷行業,越來越多的項目應用到機器視覺,用來代替人工肉眼檢測,保證了印刷的質量。

特別是醫葯行業的印刷標簽,少一個小數點,就會導致患者吃葯的分量千差萬別,容易出安全事故,畢竟人命關天。

   本案例檢測印刷上的文字和電路圖,檢測是否有模糊、飛墨、缺失或移位。

 

 

涉及到的算子:二維邊緣提取,灰度形態學,圖像變換、閾值分割等等

//以下案例為印刷檢測,為了簡化篇幅,省略了模板匹配
//直接讀取兩張圖片來對比
ReadImage(Image1,'relay_01.png')//讀取圖像
GetImageSize(Image1,Width,Height)//獲取圖像長寬
EdgesImage(Image1,ImaAmp,ImaDir,'canny',0.5,'none',20,40)//提取印刷的邊緣
GrayDilationRect(ImaAmp,VariationImage, 1,1)//用邊緣來膨脹1,作為免檢區域
CreateVariationModel(Width,Height,'byte', 'direct', VarModelID)//創建變體實例
//准備直接變體模型,偏差閾值為15
PrepareDirectVariationModel(Image1, VariationImage, VarModelID, 15, 1)
//獲取最小和最大的色差范圍的兩張圖像
GetThreshImagesVariationModel(minImage,maxImage,VarModelID)

ReadImage(Image2,'relay_02.png')//讀取圖像
//省略了模板匹配,直接從第二張圖像的XYQ來映射第一張圖像的
//同樣區域的XYQ來做仿射變換的實例
VectorAngleToRigid( 489.274, 528.006, -0.0118,487.204, 522.353, 0,HomMat2D)
//映射第二張圖像
AffineTransImage(Image2,ImageAligned,HomMat2D,'constant', 'false')
CompareVariationModel (ImageAligned,RegionDiff,VarModelID)//開始對比得到NG區域
Connection(RegionDiff,ConnectionRegions)//連通區域
SelectShape(ConnectionRegions,SelectedRegions,'area','and', 50, 300)//由面積來挑選區域
AreaCenter(SelectedRegions,Area,Row,Column)//挑選出的區域的坐標
DispImage(ImageAligned,3600)//顯示圖像
DispCircle(3600,Row,Column,20)//顯示NG的區域
ClearVariationModel(VarModelID)//清除變體實例


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM