Halcon教程十三:图像预处理
在前面的一些教程中
我们用到的预处理最多的步骤是
图像灰度化 在遇到更复杂的图像的时候
Halcon提供了更多的处理算子
整理一些
图像灰度化
灰度变化的主要目的,是提高图像的对比度。对比度就是图像的清晰程度。包括灰度变换和直方图变换等。
灰度变换分为:灰度线性变换、灰度非线性变换、和灰度直方图变换。
灰度线性变换:将图像的像素点的灰度值按照线性变换函数进行变换。g(x,y)=af(x,y)+b。还可以进行分段变换、取反变换。
图像取反:g(x,y)=255-f(x,y)。
图像相加算子:sub_image
图像取反算子:invert_image
灰度非线性变换:图像灰度值采用非线性函数进行变换,常用的有对数函数和指数函数。
对数函数变换算子:log_image。
指数函数变换算子:exp_image
灰度直方图变换:对图像中的像素灰度做映射变换。这种映射是基于灰度直方图的,这里介绍直方图均衡化。
直方图均衡化算子:equ_histo_image。
图像滤波
图像滤波的作用:去除图像中的干扰(噪声)。噪声一般由外接产生,如灰尘、热噪声等。
滤波主要分为:
均值滤波:
对于模糊图像以及图像内部的噪声由很好的作用。
算子:mean_image
中值滤波:
对单个噪声点具有很好的平滑作用。特别是椒盐噪声。
算子:median_image
高斯滤波:
根据高斯函数,考虑权重的滤波。
算子:gauss_filter
导向滤波:
对于边缘具有很好的保持作用,同时能够对其他地方去除噪声,是使用频率较高的去噪方法。
算子:guided_filter
图像仿射变化
图像的变换,包括仿射变化和透视变化。一般情况下用的是仿射变化。图像的仿射变化指的是平移与旋转。
计算图像移动前后矩阵关系:vector_angle_to_rigid
对图像进行变换:affine_trans_image
图像的极坐标变换
极坐标的定义
在平面内由极点、极轴和极径组成的坐标系。在平面上取定一点O,称为极点。从O出发引一条射线,称为极轴。再取定一个单位长度,通常规定角度取逆时针方向为正。这样,平面上任一点的位置,就可以用r表示线段的长度,a表示角度,r叫做点的极径,a叫做点的极角。有序数对(r,a)就称为P点的极坐标,这样建立的坐标系叫做极坐标系。
极坐标系的变换:选取极坐标原点,并将原坐标系变换为极坐标系的过程,称为极坐标系的变换过程。
关键点在于,极坐标系的原点的选取以及起始角度的设置。
*极坐标-图形圆展开
polar_trans_image_ext (ImageReduced, PolarTransImage, 256, 256, 0, 6.28319, 0, 100, 512, 512, ‘nearest_neighbor’)
*极坐标-图形合并圆
polar_trans_image_inv (PolarTransImage, XYTransImage, 256, 256, 0, 6.28319, 0, 100, 512, 512, ‘nearest_neighbor’)
图像的傅里叶变换
傅里叶变换是时域到频域的变换方法,通俗讲是将现在的空间变换到一个能够反映某些事物出现频率的空间。
图像傅里叶变换:
用途:一般用于对出现频率高的像素点的分析以及噪声的去除。
频率图特点:图像中心为频率0的原点,由内到外频率越来越高。其中,灰度变换激烈的地方对应高频成分,如边缘。灰度变换不大的地方对应低频。
(频率高,指的是图像边缘和噪声)
*傅里叶变换-得到的图片是一个频率分布图。原点在中心
*从中间往外,由低到高,中间是低频。高频对应的是边缘变化明显的地方。低频对应外围区域都是灰色的
fft_image (GrayImage, ImageFFT)
*求傅里叶变换图片的圆心。
area_center (ImageFFT, Area, Row, Column)
*画圆
gen_circle (Circle, Row, Column, 20)
gen_circle (Circle1, Row, Column, 100)
*大圆减小圆,得到的值画圆环
difference (Circle1, Circle1, RegionDifference)
*绘制选中的区域,'fill’填充,0是灰度值,0就就相当于屏蔽掉
*paint_region (Circle, ImageFFT, ImageResult, 0, ‘fill’)
paint_region (RegionDifference, ImageFFT, ImageResult, 0, ‘fill’)
*傅里叶逆变换
fft_image_inv (ImageResult, ImageFFTInv)
额这里做个准备 后面用到后会和例子一起写
Halcon教程十三:图像预处理相关推荐
- Halcon图像预处理之灰度形态学
Halcon图像预处理之灰度形态学 灰度形态学处理有腐蚀,膨胀,开运算,闭运算,顶帽操作,低帽操作等.可以对图像进行图像平滑,图像增强,图像分割等. 1. 图像平滑 gray_opening_shap ...
- Halcon图像预处理-图像的变换与校正
提示:本文参考了网上其他相关文章,如有侵权,请联系作者. 文章目录 前言 一.图像处理与矩阵(Matrix).齐次坐标 1.图像的平移 2.图像的旋转 3.图像的缩放 4.补充 二.仿射变换 1.仿射 ...
- 如何利用图像预处理提高OCR的准确性?
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 OCR代表光学字符识别,将文档照片或场景照片转换为机器编码的文本. ...
- UFLDL教程:数据预处理
数据预处理是深度学习中非常重要的一步!如果说原始数据的获得,是深度学习中最重要的一步,那么获得原始数据之后对它的预处理更是重要的一部分. 一般来说,算法的好坏一定程度上和数据是否归一化,是否白化有关. ...
- Tensorflow数据预处理之tf.data.TFRecordDataset---TFRecords详解\TFRecords图像预处理
目录 1.概述 2.预处理数据 2.1.常量定义 2.2.导入库 2.3.从train.txt文件中读取图片-标签对 2.4.预处理图片并保存 2.5.调用main函数 3.读取预处理后的数据 3.1 ...
- 【Visual C++】游戏开发笔记四十五 浅墨DirectX教程十三 深度测试和Z缓存专场
本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8607864 作者:毛星云(浅墨 ...
- caffe2学习笔记一:图像预处理
Facebook的caffe2是caffe的升级版,相较于caffe的主要不同是将layer替换成了更为强大灵活的operator以及添加了类似matlab中的工作区概念的workspace,基本数据 ...
- 一阶微分算子锐化图像_【动手学计算机视觉】第三讲:图像预处理之图像分割...
本讲完整代码>> 前言 图像分割是一种把图像分成若干个独立子区域的技术和过程.在图像的研究和应用中,很多时候我们关注的仅是图像中的目标或前景(其他部分称为背景),它们对应图像中特定的.具有 ...
- 图像预处理第7步:标准归一化
图像预处理第7步:标准归一化 将分割出来的各个不同宽.高的数字字符宽.高统一 //图像预处理第7步:标准归一化 //将分割出来的各个不同宽.高的数字字符宽.高统一 void CChildView::O ...
- 图像+预处理+数据增强+总结
图像+预处理+数据增强+总结 图像与处理的中间和最终结果的不同版本,本身就是图像数据增强的一部分. 染色归一化 数据增强 Image augmentation for machine learning ...
最新文章
- 数据库模型设计——主键的设计
- php yield 导出文件,PHP yield 读取大文件
- python类中方法的执行顺序-python 函数或者类 代码的执行顺序
- mybatis association表关联与rowbounds共同使用时的异常及其解决方案
- 客户端程序初步加入网络通讯的功能
- 多平台支持:下一步容器技术热点
- Android APK反编译就这么简单 详解
- JavaFX将会留下来!
- gm怎么刷东西 rust_Rust语言:解引用详述,搞不明白这个概念,趁早放弃Rust
- MAC配置JCO,与找不到sapjco3异常
- 使用Git后10件你可能需要“反悔”的事
- HDU 5514 Frogs (容斥原理)
- 专家读《Windows 内核情景分析》这本书
- 解决克隆centos虚拟机后ip配置失败的问题
- matlab引擎下载,安装用于 Python 的 MATLAB 引擎 API
- php 验证手机号码(海外手机号)
- 宗成庆《文本数据挖掘》学习笔记:第一章绪论
- uv422转换为yuv420_详解 YUV 格式(I420/YUV420/NV12/NV12/YUV422)
- java源码app,飞飞CMS双端JAVA原生APP源码
- 转:企业数字化的本质,其实就这3条
热门文章
- 如何从0开始编写一个网络爬虫?
- coreos mysql_Fedora CoreOS 介绍
- 半正定矩阵的对角元素不小于该矩阵的最小特征值
- android9 三星 港版,三星S9+官方港版安卓9固件系统线刷包:TGY-G9650ZHU4CSE7
- 全国各省五等份收入统计(2000-2017年)
- 阿里云服务器 发送邮件无法连接smtp的解决方案
- linux系统usb触摸驱动,Linux ——usb触摸屏驱动 - usbtouchscreen
- Wpf 初学---01设计一个优美的注册界面
- 马哥linux高端班视频,马哥Linux高端运维云计算就业班
- wifi中继的几种方法