halcon缺陷检测学习2图像色差缺陷检测detect_mura_defects_blur
简介:检测暗色图像中的色差故障,展示了如何检测模糊图像中的不均匀色差缺陷,选择缺陷·为·黑色部分
初始化
dev_close_window ()
dev_update_off ()
*这一句包含如下三个算子:*dev_updata_pc(‘off’)关闭更新程序计数器
*dev_updata_var(‘off’)关闭更新变量窗口
*dev_updata_window(‘off’) 关闭更新图像窗口
Path := ‘lcd/mura_defects_blur_’
*path道路,定义图片所在路径
read_image (Image, Path + ‘01’)
*参数说明:为读入图片命名(Image)文件名(’01’)
get_image_size (Image, Width, Height)
*将打开一个新的图形窗口,该窗口保持给定图像大小的长宽比
dev_open_window_fit_size (0, 0, Width, Height, 640, 480, WindowHandle)
*( : : Row, Column, Width, Height, WidthLimit, HeightLimit : WindowHandle)
*图形窗口左上角的位置(Row, Column)要显示的图像的宽度与高度(Width, Height)限制窗口宽度与高度(640, 480)新图形窗口句柄(WindowHandle)
set_display_font (WindowHandle, 14, ‘mono’, ‘true’, ‘false’)
*设置字体。窗口句柄(WindowHandle)字体大小(14)字体类型(’mono’)是否黑体(’ture’)是否倾斜(’false’)
dev_set_draw (‘margin’)
*//定义区域填充模式为(’Margin’或者’Fill’)
dev_set_line_width (3)
*设置输出区域轮廓线(圆圈)的线宽
dev_set_color (‘red’)
*设置圆圈颜色红色,可以一种或者多种
ScaleFactor := 0.4
*比例因子
calculate_lines_gauss_parameters (17, [25,3], Sigma, Low, High)
*提取的行的最大宽度(17)提取的行的典型对比,若为两个值的元组,第二个值定义要提取的行的最小对比度,并且不能大于第一个值。
*用于高斯参数(Sigma)用于高斯线提取的高、低参数(Low, High)
for f := 1 to 3 by 1read_image (Image, Path + f$’.2i’)
*读取检测图像
decompose3 (Image, R, G, B)
*将一个三通道图像转换为三个图像。decompose3(MultiChannelImage : Image1, Image2, Image3 : : )
*正确的侧照明
rft_generic (B, ImageFFT, ‘to_freq’, ‘none’, ‘complex’, Width)
*对计算的一幅图片实部进行快速傅里叶变换。参数:输入的图片(B)傅里叶变换后输出的图片(ImageFFT)
*变换正方向(’to_freq’或’from_freq’)变换因子的规范(’none’)输出图片的数据类型(’complex’)图片的宽(Width)
gen_gauss_filter (ImageGauss, 100, 100, 0, ‘n’, ‘rft’, Width, Height)
*生成一个频域高斯滤波器 频域高斯滤波器(ImageGauss)Sigma1,Sigma2(100,100)滤波器在空间域的主要方向(0)
*滤波器的归一化因子(‘n’)直流项在频域中的位置(‘rft’)图像的宽度与高度(Width, Height)
convol_fft (ImageFFT, ImageGauss, ImageConvol)
*对转换后图片用滤波器在频域进行卷积运算。输入的图片(ImageFFT)频域滤波器(ImageGauss)运算后输出的结果(ImageConvol)
rft_generic (ImageConvol, ImageFFT1, ‘from_freq’, ‘none’, ‘byte’, Width)
**对滤波后的图片进行快速傅里叶反变换。输入的图片(ImageConvol)运算后结果( ImageFFT1)反向变换(’from_freq’)
*变换的归一化因子(‘none’)输出图像的图像类型(‘byte’)输出图像的宽度(Width)
sub_image (B, ImageFFT1, ImageSub, 2, 100)
*子图像-减去两个图像。被减数(B)减数(ImageFFT1)处理结果(ImageSub)校正系数(2)改正值(100)
*进行实际检验
zoom_image_factor (ImageSub, ImageZoomed, ScaleFactor, ScaleFactor, ‘constant’)
*按给定的因子缩放图像。输入图像(ImageSub)按比例缩小的图像(ImageZoomed)比例因子(ScaleFactor)插值类型(‘constant’)使用线条时避免边界效果
get_domain (ImageZoomed, Domain)
*获取图像的域。输入图像(ImageZoomed)定义输入图像的域(Domain)
erosion_rectangle1 (Domain, RegionErosion, 7, 7)
*用矩形结构元素侵蚀区域。被侵蚀的区域(Domain)侵蚀后的区域(RegionErosion)结构矩形的宽度高度(7, 7)
reduce_domain (ImageZoomed, RegionErosion, ImageReduced)
*减少图像的域。输入图像(ImageZoomed)新定义的域(RegionErosion)图像简化的域(ImageReduced)
lines_gauss (ImageReduced, Lines, Sigma, Low, High, ‘dark’, ‘true’, ‘gaussian’, ‘true’)
*检测线条及其宽度。输入图像(ImageReduced)提取行(Lines)应用高斯平滑量(Sigma)滞后阈值操作下上阈值(Low, High)
*提取亮线或暗线(‘dark’)是否提取线宽(‘true’)用于修正线的位置和宽度的线模型(‘gaussian’)是否在不能提取的地方添加连接(‘true’)
hom_mat2d_identity (HomMat2DIdentity)
*生成齐次二维变换矩阵。变换矩阵(HomMat2DIdentity)
hom_mat2d_scale_local (HomMat2DIdentity, 1 / ScaleFactor, 1 / ScaleFactor, HomMat2DScale)
*向齐次二维变换矩阵添加缩放。变换矩阵(HomMat2DIdentity)沿着x、y轴的比例因子(1 / ScaleFactor, 1 / ScaleFactor)
*输出变换矩阵(HomMat2DScale)
affine_trans_contour_xld (Lines, Defects, HomMat2DScale)
*对XLD等值线应用二维变换。输入XLD轮廓(Lines)改变后XLD轮廓(Defects)输入变换矩阵(HomMat2DScale)
dev_display (Image)
*在当前图形窗口中显示图像对象(Image)。
dev_display (Defects)
*在当前图形窗口中显示缺陷(Defects)。
if (f < 3)
disp_continue_message (WindowHandle, ‘black’, ‘true’)- 黑色字体如果设置为“true”,文本将写入一个白框中
stop ()
endif
endfor
- 黑色字体如果设置为“true”,文本将写入一个白框中
halcon缺陷检测学习2图像色差缺陷检测detect_mura_defects_blur相关推荐
- 9月5日关键点检测学习笔记——人体骨骼点检测:自顶向下
文章目录 前言 一.常用数据集 二.评价体系 1.Bounding box IoU 2.Mask IoU 3.Object keypoint similarity(OKS) 三.Top-down 自顶 ...
- opencv 直线检测 java_OpenCV实现图像的直线检测
上一篇博文介绍了图像的Canny边缘检测,本文主要介绍图像的直线检测部分,主要使用概率霍夫变换来检测直线,调用的函数为HoughLinesP(),下面给出代码部分以及直线检测效果图: 1.代码部分: ...
- 目标检测学习————Keras搭建yolo3目标检测平台
Keras搭建yolo3目标检测平台 源码下载 yolo3实现思路 一.预测部分 二.训练部分 训练自己的yolo3模型 参考原文出处 点击进入https://blog.csdn.net/weixin ...
- 自动驾驶采标系列三:基于图像的目标检测技术
标注猿的第54篇原创 一个用数据视角看AI世界的标注猿 上一篇文章我们从"环境感知"数据的采集设备上进行了详细说明,已经了解了相应设备采集的数据及采集前 ...
- 车辆行人检测学习笔记
车辆行人检测学习笔记 1.目标检测&常见检测网络 目标检测:物体识别是要分辨出图片中有什么物体,输入是图片,输出是类别标签和概率.而目标检测不仅要检测图片中有什么物体,还要输出无异的外框(x, ...
- halcon缺陷检测学习3暗斑检测detect_mura_defects_texture
这个例子展示了如何检测高纹理图像中的色差不均匀缺陷 实现高纹理图像中缺陷的检测(黑色). 缺陷的特征是暗斑.因此,通过从原始图像中减去估计的背景光照,缺陷变得更加明显 dev_close_window ...
- halcon缺陷检测学习7皮革·凹痕、磨损、刮伤缺陷inspect_leather_photometric_stereo
本程序演示了使用光度立体技术对皮革样品的检查. *输入4张皮革样本的图片,光线来自不同的方向. 初始化 dev_update_off () dev_close_window () dev_open_w ...
- HALCON示例程序inspect_bottle_mouth.hdev玻璃瓶口缺陷检测
HALCON示例程序inspect_bottle_mouth.hdev玻璃瓶口缺陷检测 示例程序源码(加注释) 定义变量并初始化 SmoothX := 501 ThresholdOffset := 2 ...
- HALCON示例程序check_blister_mixed.hedv药品胶囊缺陷检测
HALCON示例程序check_blister_mixed.hedv药品胶囊缺陷检测 示例程序源码(加注释) 读入图片与显示相关设置 dev_close_window () read_image (I ...
最新文章
- 科学处理java.lang.StackOverflowError: null异常
- Matlab GUI 界面设计基础(1)
- linux shell实现go.mod迁移后版本号的更新问题(技能点:sed删除行自定义分隔符;文件的过滤后遍历)
- Vue Vuex todo举例
- HDOJ杭电2044
- qt 试用 (3)配置编译源代码及调试
- 2022年快手磁力金牛服饰行业营销洞察报告
- 【SAP业务模式】之ICS(三):前台操作
- 二叉搜索树bst_二进制搜索树(BST)–搜索插入和删除
- java treemarker_Java TreeMaker類代碼示例
- js基础-18-js中创建对象的几种方式
- SpringBoot+Redis+Lua防止(黑客)IP重复防刷攻击
- 如何下载微信公众号里面的视频?
- 北邮计算机自招,2019自主招生能报几所学校?深度解析90所自招院校限报!
- python麻将源码_a8贵州麻将源码 贵阳麻将a8源码 a8贵阳捉鸡源码
- 【C++】endl的作用
- 二次方程计算器-字符串处理
- [转载]Android实现更换皮肤功能
- Python获取Csdn扫码登录每日一句
- Windows 11配置WSL及Linux子系统安装
热门文章
- 备份一下java笔记
- 推荐一款 Kubernetes YAML 文件静态分析工具 KubeLinter
- 基于Ana conda的环境的Tensorflow安装
- 平台千万级订单推送实现
- Rickshaw是一个JavaScript工具箱,用于创建交互式时间序列图
- 荣耀wifi服务器未响应,荣耀路由器wifi连接成功,但无法使用怎么办?
- 王者荣耀8月25服务器维护,王者荣耀8月15日更新维护几点开始?王者荣耀更新维护多久...
- 计算机能换显卡吗,笔记本显卡能换吗?笔记本换显卡的方法
- threejs 热力图做成材质_d3.js 热力图 demo
- 连锁超市如何部署远程监控系统