当前位置:网站首页>Halcon图片标定,使得后续图片处理过后变成与模板图片一样
Halcon图片标定,使得后续图片处理过后变成与模板图片一样
2022-07-04 05:14:00 【小女孩真可爱】
Halcon图片标定,使得后续图片处理过后变成与模板图片一样
随便选择一张图片
对这张图片进行旋转矫正之后,图片就变成了一个模板图片。它的区域region位置如图所示:
当来了一张新的图片的时候,让它与region比较,与模板的位置有明显的偏差, 如图所示:
我们的目标就是让这张新的图片经过处理后与模板区域重合。如下图所示:
其实总体功能和旋转抠图差不多,只是使用的函数有一点差异。
代码总合:
代码所用的图片在:C:\Users\HJ\AppData\Roaming\MVTec\HALCON-21.05-Progress\examples\images\blister(根据自己安装halcon的位置来寻找)
*读取一张图进行处理,并以处理后的图为模板,让后续的图片都办成这张图的模样
read_image (Image, 'C:/Users/HJ/Desktop/test_image/blister/blister_01.png')
threshold(Image, Region, 100, 255)
connection(Region, ConnectedRegions)
select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', 15000, 9999999)
shape_trans(SelectedRegions, RegionTrans, 'convex')
*计算region的方向(角度),Phi是区域最远处点和x轴的夹角
orientation_region(RegionTrans, Phi)
*获取区域的中心
area_center(RegionTrans, Area, Row, Column)
if ((1.57<Phi and Phi<3.142) or (-3.142<Phi and Phi<-1.57))
vector_angle_to_rigid(Row, Column, Phi, Row, Column, 3.14159, HomMat2D)
else
vector_angle_to_rigid(Row, Column, Phi, Row, Column, 0, HomMat2D)
endif
*旋转图片和区域
affine_trans_image(Image, ImageAffineTrans, HomMat2D, 'constant', 'false')
affine_trans_region(RegionTrans, RegionTrans, HomMat2D, 'nearest_neighbor')
*计算旋转之后的区域的中心, 也就是模板区域的中心
area_center (RegionTrans, AreaRef, RowRef, ColumnRef)
list_files ('C:/Users/HJ/Desktop/test_image/blister', ['files','follow_links'], ImageFiles)
tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles)
Width := 550
Height := 400
for Index := 0 to |ImageFiles| - 1 by 1
*数据前处理
read_image (Image2, ImageFiles[Index])
threshold(Image2, Region_Each, 100, 255)
connection(Region_Each, ConnectedRegions_Each)
select_shape(ConnectedRegions_Each, SelectedRegions_Each, 'area', 'and', 15000, 9999999)
shape_trans(SelectedRegions_Each, RegionTrans_Each, 'convex')
*计算当前区域的方向(角度)
orientation_region(RegionTrans_Each, Phi_Each)
*获取当前区域的中心
area_center(RegionTrans_Each, Area_Each, Row_Each, Column_Each)
if ((1.57<Phi_Each and Phi_Each<3.142) or (-3.142<Phi_Each and Phi_Each<-1.57))
*利用当前区域的中心、角度 和 模板区域的中心和角度来进行计算, 生成一个仿射变换的矩阵
vector_angle_to_rigid(Row_Each, Column_Each, Phi_Each, RowRef, ColumnRef, 3.14159, HomMat2D1)
else
vector_angle_to_rigid(Row_Each, Column_Each, Phi_Each, RowRef, ColumnRef, 0, HomMat2D1)
endif
*根据仿射变换矩阵来对图片进行调整,变成和模板图片一样的
affine_trans_image(Image2, ImageAffineTrans_Each, HomMat2D1, 'constant', 'false')
endfor
边栏推荐
- FreeRTOS 中 RISC-V-Qemu-virt_GCC 的 锁机制 分析
- 2022 Guangdong provincial competition - code information acquisition and analysis flag
- We believe that the development of consumer Internet will still be limited to the Internet industry itself
- [matlab] matlab simulates digital bandpass transmission systems - QPSK and OQPSK systems
- flink1.13 sql基础语法(二)join操作
- Just do it with your hands 7 - * project construction details 2 - hook configuration
- 2022g2 power station boiler stoker special operation certificate examination question bank and answers
- 谷歌 Chrome 浏览器将支持选取文字翻译功能
- Zzulioj:1201: mode problem
- 2022年T电梯修理操作证考试题库及模拟考试
猜你喜欢
拓扑排序和关键路径的图形化显示
2022 R2 mobile pressure vessel filling retraining question bank and answers
BUU-Reverse-easyre
Etcd database source code analysis - initialization overview
空洞卷积、可变形卷积、可变形ROI Pooling
RSA加密应用常见缺陷的原理与实践
BUU-Crypto-[GXYCTF2019]CheckIn
2022 a special equipment related management (elevator) examination questions simulation examination platform operation
Customize a pager needed in your project
【兴趣阅读】Adversarial Filtering Modeling on Long-term User Behavior Sequences for Click-Through Rate Pre
随机推荐
What is MQ?
2022 R2 mobile pressure vessel filling retraining question bank and answers
How to configure static IP for Kali virtual machine
LM小型可编程控制器软件(基于CoDeSys)笔记二十二:错误4268/4052
空洞卷积、可变形卷积、可变形ROI Pooling
Zkevm (12) state proof of appliedzkp
Topological sorting and graphical display of critical path
flink1.13 sql基础语法(二)join操作
[matlab] general function of communication signal modulation bandpass filter
Principle and practice of common defects in RSA encryption application
[matlab] matlab simulates digital bandpass transmission system ask, PSK, FSK system
Exercise bubble sort
724. 寻找数组的中心下标
[技术发展-25]:广播电视网、互联网、电信网、电网四网融合技术
Notepad++--显示相关的配置
力扣 第 300 场周赛
Write a complete answer applet (including single choice questions, judgment questions and multiple topics) (III) single choice questions, judgment questions, and the first question display
Letter meaning and parameter abbreviation of optical module Daquan
[matlab] matlab simulation of modulation system - power spectrum and coherent demodulation of AM modulated signal
[untitled]