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官方文档——————————————

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/911456.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从分析Vue实例生命周期开始,剖析Vue页面跳转背后执行过程

文章目录 1.概要2.Vue实例生命周期3.生命周期函数解释4.存在父子组件情况页面执行过程5. 分析路由跳转页面执行过程6.扩展补充7.小结 1.概要 本文旨在分析Vue页面进行路由切换时,Vue背后的运行过程,旨在让大家更加清晰地明白Vue页面运行过程中钩子方法的…

43.第二阶段x86游戏实战2-提取游戏里面的lua

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

是时候用开源降低AI落地门槛了

过去三十多年,从Linux到KVM,从OpenStack到Kubernetes,IT领域众多关键技术都来自开源。开源技术不仅大幅降低了IT成本,也降低了企业技术创新的门槛。 那么,在生成式AI时代,开源能够为AI带来什么?…

xlwings,让excel飞起来!

excel已经成为必不可少的数据处理软件,几乎天天在用。python有很多支持操作excel的第三方库,xlwings是其中一个。 关于xlwings xlwings开源免费,能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改。 xlwings还…

【分布式事务】二、NET8分布式事务实践: DotNetCore.CAP 框架 、 消息队列(RabbitMQ)、 数据库(MySql、MongoDB)

介绍 [CAP]是一个用来解决微服务或者分布式系统中分布式事务问题的一个开源项目解决方案, 同样可以用来作为 EventBus 使用 github地址:https://github.com/dotnetcore/CAP官网地址: https://cap.dotnetcore.xyz/官网文档:https://cap.dotnetcore.xyz/userguide/zh/cap/id…

【论文阅读】Learning dynamic alignment via meta-filter for few-shot learning

通过元滤波器学习动态对齐以实现小样本学习 引用:Xu C, Fu Y, Liu C, et al. Learning dynamic alignment via meta-filter for few-shot learning[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2021: 5182-5191. 论文…

IDEA 2024使用mybatisplus插件生成代码在项目中

在IDEA 插件市场搜索“mybatisplus”插件并安装,安装好后重启IDEA,安装过程网上很多教程,这里略过;IDEA 2024配置数据库和生成代码迁移到了Tools菜单下,原先版本在Other; 先完成数据库配置,点击Config Data…

Android CCodec Codec2 (十九)C2LinearBlock

在上一篇文章的结尾,我们看到fetchLinearBlock方法最终创建了一个C2LinearBlock对象。这一节,我们将深入了解C2LinearBlock是什么,它的作用是什么,以及它是如何被创建的。 1、_C2BlockFactory 先对上一篇文章的结尾内容做简单回顾…

LabVIEW离心泵性能优化测试系统

开发了一套基于LabVIEW平台开发的离心泵性能优化测试系统。系统集成了数据采集、流量控制、数据存储、报表生成等功能,提供了低成本、便捷操作的解决方案,适用于工业场景中对离心泵性能的精确测评。 项目背景 随着工业化进程的加速,离心泵在…

【NLP自然语言处理】深入探索Self-Attention:自注意力机制详解

目录 🍔 Self-attention的特点 🍔 Self-attention中的归一化概述 🍔 softmax的梯度变化 3.1 softmax函数的输入分布是如何影响输出的 3.2 softmax函数在反向传播的过程中是如何梯度求导的 3.3 softmax函数出现梯度消失现象的原因 &…

MML 中使用 libevent +std::async unix socket domain 进程间通信

可以执行大量超时的接口,直到任务执行完成 还可以在一个事件做检测,funtcure 中的值为ready 状态 uds 的用法和tcp 类似,会维护一个链接状态和分配一个链接套接字,这就为异步执行提供了很方便的条件 客户端就安静的做一个计时,看是否在固定事件内返回执行…

基础算法练习--滑动窗口(已完结)

算法介绍 滑动窗口算法来自tcp协议的一种特性,它的高效使得其也变成了算法题的一种重要考点.滑动窗口的实现实际上也是通过两个指针前后遍历集合实现,但是因为它有固定的解题格式,我将其单独做成一个篇章. 滑动窗口的解题格式: 首先,定义两个指针left和right,与双指针不同的…

算法:只出现一次的数字II

题目 链接:leetcode链接 思路分析 这道题目其实是一个观察题,比较考察观察能力。 数组中只有一个元素只出现一次,其他的元素都出现三次 我们假设有n个元素出现三次 那么所有的元素的第i位的和加起来只有下面的四种情况 3n * 0 0 3n * 0…

【rust】rust基础代码案例

文章目录 代码篇HelloWorld斐波那契数列计算表达式(加减乘除)web接口 优化篇target/目录占用一个g,仅仅一个actix的helloWorld demo升级rust版本, 通过rustupcargo换源windows下放弃吧,需要额外安装1g的toolchain并且要…

鸿蒙基本组件结构

组件结构 1. 认识基本的组件结构 ArkTS通过装饰器Component 和Entry 装饰 struct 关键字声明的数据结构,构成一个自定义组件 自定义组件中提供了一个build函数,开发者需要在函数内以链式调用的方式进行基本的UI描述,UI描述的方法请参考UI描述…

Python并发编程库:Asyncio的异步编程实战

Python并发编程库:Asyncio的异步编程实战 在现代应用中,并发和高效的I/O处理是影响系统性能的关键因素之一。Python的asyncio库是专为异步编程设计的模块,提供了一种更加高效、易读的并发编程方式,适用于处理大量的I/O密集型任务…

快速开发工具 Vite

快速开发工具 vite 摘要: **概念:**Vite 是一种新型前端构建工具,能够显著提升前端开发体验 **构造:**Vite 主要由一个开发服务器和一套构建指令组成。 Vite底层的服务器转换和转发:以处理ts文件为例 1-读取 forma…

Servlet-Filter

文章目录 一. Filter 过滤器1. 概括2. 原理3. api配置过滤器(Filter)拦截路径1.xml 方式2.注解方式 4. 生命流程a.执行流程b.拦截路径c.过滤器链 5. 登录校验-Filter 一. Filter 过滤器 1. 概括 过滤器,顾名思义就是对事物进行过滤的,在 Web 中的过滤器…

Hadoop简介及单点伪分布式安装

目录 1. 大数据2. Hadoop简介3. Hadoop伪分布式安装4. Hadoop启动参考 1. 大数据 大数据的定义:一种规模大到在获取、存储、管理、分析方面大大超出传统数据库软件工具能力范围的数据集合。   特征:   1.海量的数据规模   2.快速的数据流转   3.…

python练习-袭击敌机

$ python -m pip install --user pygame1、画游戏框 class Settings:def __init__(self):self.screen_width 1200self.screen_height 800self.bg_color (230, 230, 230)import sys import pygame from settings import Settingsclass AlienInvasion:def __init__(self):pyg…