当前位置: 首页 > news >正文

VisionPro —— CogIPOneImgeTool工具详解

CogIPOneImageTool工具主要用来对单张图像进行算法处理操作

CogIPOneImgeTool简介

CogIPOneImageTool 工具可完成高斯平滑、高通滤波和图像量化等基本图像处理操作。Image Processing One Image 工具编辑控件为此工具提供图形用户界面。

Image Processing Operations (图像处理操作)

通过使用 Image Processing One Image 工具编辑控件,可以选择执行以下图像处理操作:

一、加减常量

此算法为图像中的每一个像素点的像素值加上一个常量,创建一个新的图像,对于彩色图像,需要对每一个图层单独执行加减操作。

为灰度图像中每个像素的灰度值添加正值或负值,从而生成一张更亮或更暗的图像

在完成操作后,是否允许低于 0 或高于 255 的像素值扭曲或进行箝位处理,以便满足这些限制条件。

封装

超出255亮度的像素会执行减去256的操作,小于0的会执行加256的操作  

灰度值为30  +  240 = 270  超出255      270 - 256    

灰度值为30  + -240        结果会 + 256 

箝qian位

最高到255的亮度,最小到 0

平面0:,平面1:,平面2: 

RGB  红绿蓝

二、卷积

对浮点值为 3x3 内核的输入图像执行卷积。您可以将此功能与其他图像处理运算符配合使用,以便完成自定义图像处理操作,如下图所示:

卷积 NxM 过滤器可执行边缘锐化、边缘检测和边缘柔化等多种图像处理操作

卷积N*M

VisionPro支持卷积运算符,基于相邻像素值修改像素值。VisionPro将输入图像中的每个像素乘以一个称为的数值矩阵,然后替换输出图像中的 相应像素。不同卷积核可以实现不同的效果,比如平滑、模糊、去噪、锐化、 边缘提取等,都可以通过卷积操作来完成

卷积核效果参考网址:

Image Kernels explained visuallyicon-default.png?t=O83Ahttps://setosa.io/ev/image-kernels/

均衡 

重新映射图像像素,以便确保连续取相的灰度值相似。当生产环境中的照明在相邻图像间可能产生细微变化,或所检查对象的某些方面(如颜色)允许存在细微差异时,可使用均衡操作。均衡操作有助于确保生产环境中的不相关变化不会影响视觉应用程序的整体结果。

扩展

指定的放大系数放大整个图像或其中某个部分。此操作接受支持沿 x 轴和 y 轴放大图像的独立参数,因此通过此操作可仅在一个方向上放大输入图像。

例如,下图显示了输入图像和按系数 y5 放大后的图像:

旋转/翻转 

对整个或局部输入图像执行水平翻转或顺时针旋转。

如下图局部输入图片旋转90度

高斯采样器

获取输入图像的二次采样,以便确保输出图像仅包含部分原始像素,并通过减小亮暗像素频繁变化引起的对比度大小,对输入图像进行平滑处理。

1、当视觉工具在缩小的图像上同样有效地工作并且想要提高应用程序的速度时, 可使用采样操作。

2、使用平滑操作可减轻图像中纹理、信号噪音或小号字体等不利因素的影响。

3、允许为输出图像设定幅度偏移系数,范围为 -7 至 7。对偏移系数使用负值可生成更暗的输出图像,而使用正值则可生成更亮的输出图像。

经过高斯采样之后高度和宽度等值会变小

灰度形态调整

对输入图像执行灰度形态调整后,即可根据大小和方向,选择性地增强或减弱图像特征

在典型情况下,形态学算子使用结构元素定义的边界(高3像素,宽3像素)检查每个像素及其八个相邻像素的灰度值,

对内核大小为 NxM 的输入图像执行灰度形态调整后,即可根据大小和方向,选择性地增强或减弱图像特征。如欲了解此广泛图像处理操作的相关背景信息,

侵蚀

侵蚀降低了图像的明亮特征,可以完全去除噪声像素或小缺陷;

膨胀 

扩张增强了图像的明亮特征,同时抑制了较暗的特征:

可以将侵蚀和膨胀合并为一个步骤的形态操作符。  

打开

打开操作符首先对输入图像执行侵蚀,然后对结果执行扩张,以便生成输出图像。打开图像会去除少量的明亮像素,然后增强剩余的明亮

关闭

关闭操作首先对输入图像执行扩张,然后对结果执行侵蚀,以便生成输出图像。关闭图像减少或完全消除图像的黑暗区域:


图像处理形态学理论灰度形态学闭合

打开和关闭操作都倾向于保留大特征的尺寸和形状,而影响小特征的尺寸和形状

高通过滤器

高通滤波就是保留图像中频率比较高的部分,即突出边缘;可以执行高斯、均值或中值平滑操作,然后从输入图像中减去结果图像。高频信号的输出和采样。

均值滤波
使用模板内所有像素的平均值
代替 模板中心像素灰度值
易受噪声干扰,不能完全消除
噪声,只能相对减弱噪声

中值滤波
计算模板内所有像素中的中值,
并 用所计算出来的中值体改模
板中心 像素的灰度值
能够较好的消除椒盐噪声,
是容易导致图像 的不连续性

高斯滤波
对图像邻域内像素进行平滑时,
领域内不同位置的像素被赋予
不同的权值
能够有效抑制高斯噪声,
平滑图像

3*3中值

检查每个原始像素周围的 3x3 像素矩阵,按灰度值顺序分级,然后取第 5 个或中间的灰度值并将其应用于输出图像,以此减少图像噪音在输入图像中的影响。下图显示的是 3x3 Median 操作的影响:

3x3 Median 操作无需参数。但请注意,此操作会将输入图像的大小减少 2 行 2 列,即减少输入图像边界周围 1 像素宽的条纹。如果对同一图像多次执行 3x3 Median 操作,则此减少效果也会加倍。例如,如果对某个图像执行 5 次 3x3 Median 操作,则输出图像将比原始图像小 10 行 10 列。

中值N*M

使用自定义内核大小检查每个原始像素周围的像素矩阵,以便减少图像噪音在输入图像中的影响。内核越大越能更有效地减少图像噪音,但也会降低图像特征的质量。

NxM Median 滤波器支持 CareDon't Care 像素掩蔽内核,允许您在为输出图像生成新灰度值时指定矩阵中无需考虑的元素。

丢失像素

运算符接受深度图像,并将标记为缺失的像素替换为基于周围像素分析的像素值

乘以常数

将灰度图像中每个像素的灰度值乘以常数值。

值降到0以下或超过255,或将其限制在这些限制内。例如,如果允许这些值进行换行,则灰度 值为200乘以2的像素的新值将为145(2 * 200-255)。如果选择钳制这些值,则相同像素在操 作后不会超过值255。

像素映射

对输入图像应用像素映射。对于灰度输入图像,输入图像中的每个像素均被替换为带有索引处像素映射所得的值的像素,该值等于输入图像像素值。

例如如果灰度输入图像的像素值为 73,则将使用像素映射第 73 个元素值替代该值。下图显示的是应用反转像素映射的效果,其中像素映射包含范围为 255 至 0 的值:

量化 

减少输入图像中离散灰度值的数量。执行量化操作有助于分离灰度值相似的单个特征,或将所需特征减少至单一灰度值,使其易于通过其他视觉工具进行分析。

选择量化操作时,必须选择输出图像将包含的离散灰度值的数量。 

采样卷积

 执行并发的可分隔卷积和采样。其常见用法是使用高斯平滑缩减像素采样。例如,下图显示的是已经过平滑操作的图像

二次采样器 

生成已缩减输入图像分辨率和大小的输出图像。虽然缩减图像大小可能导致准确度降低,但二次采样可提高其他视觉工具对缩减图像的操作速度。Subsampler 操作可提供两类用以生成输出图像的算法。第一种算法可将输入图像划分为像素块,并可将块中央的像素复制到输出图像。如果块包含偶数行或列,则此操作将复制左上角最靠近块中心的像素。下图展示的是使用 3x3 块执行二次采样:

 

注意:如果您指定的二次采样率为偶数,且不使用空间平均算法,则工具将选择采样区域中心左侧和上侧的像素。这会在采样图像特征位置产生 0.5 像素的偏移。工具可将坐标空间移位 0.5 像素,从而自动调整输出图像的坐标空间目录树。由于空间平均算法可对采样区域内的像素值进行完全平均而无需考虑其大小,因此当启用空间平均算法时不执行此类调整。

————————————部分资源来自VisionPro官方文档——————————————


http://www.mrgr.cn/news/68081.html

相关文章:

  • 快消零售行业企业员工培训的数字化转型
  • 互联网技术净土?原生鸿蒙开启全新技术征程
  • 【数字图像处理】图像旋转中三种常见插值方法的效果比较:最近邻插值、双线性插值和双三次插值
  • 【Python】实战:请使用面向对象的思想,设计自定义类,描述出租车和家用轿车的信息
  • 基于 Vue3、Vite 和 TypeScript 实现开发环境下解决跨域问题,实现前后端数据传递
  • 《质谱学报》
  • Yetu野兔-私域运营工具
  • 默认 iOS 设置使已锁定的 iPhone 容易受到攻击
  • Day 52 || 739. 每日温度 、 496.下一个更大元素 I 、503.下一个更大元素II
  • 指针万字超级最强i解析与总结!!!!!
  • LRU缓存算法
  • 数据结构基础知识
  • 【Java语言】抽象类与接口
  • Spring核心:探索IoC容器与依赖注入的奥秘
  • 23isctf
  • 职场高手揭秘,细节如何左右你的成败与升迁之路
  • 第18篇 :关于SystemVerilog中的约束随机机制(一)
  • 基于百度飞桨paddle的paddlepaddle2.4.2等系列项目的运行
  • RHCSA习题练习
  • 并发编程(8)—— std::async、std::future 源码解析
  • 软件开发流程图的绘制与解析
  • 大数据数据存储层MemSQL, HBase与HDFS
  • 聊一聊SpringBoot中的自定义Starter
  • 移除元素(java)
  • 【猜数字】C语言小游戏
  • day05(单片机)SPI+数码管