VisionPro 中 图像预处理工具

VisionPro 中 图像预处理工具

  • [一. 图片预处理参数详解](#一. 图片预处理参数详解)
    • [1. 灰度变换](#1. 灰度变换)
      • [1.1 加减常量 (AddConstant / SubtractConstant) --- 对每个像素增加或减少一个固定数值,调整整体亮度。](#1.1 加减常量 (AddConstant / SubtractConstant) — 对每个像素增加或减少一个固定数值,调整整体亮度。)
      • [1.2 灰度反转 (Invert) --- 将像素灰度值取反(黑变白,白变黑)。](#1.2 灰度反转 (Invert) — 将像素灰度值取反(黑变白,白变黑)。)
      • [1.3 像素映射 (PixelMap) --- 通过查找表(LUT)自定义灰度映射关系,实现对比度拉伸等效果。](#1.3 像素映射 (PixelMap) — 通过查找表(LUT)自定义灰度映射关系,实现对比度拉伸等效果。)
    • [2. 几何变换](#2. 几何变换)
      • [2.1 缩放 (Scale) --- 改变图像的尺寸(放大或缩小),也可称为"扩展"。](#2.1 缩放 (Scale) — 改变图像的尺寸(放大或缩小),也可称为“扩展”。)
      • [2.2 仿射变换 (Affine) --- 包括旋转、平移、倾斜、镜像等线性变换。](#2.2 仿射变换 (Affine) — 包括旋转、平移、倾斜、镜像等线性变换。)
      • [2.3 极坐标转换 (Polar) --- 在直角坐标与极坐标之间转换图像,常用于圆形检测。](#2.3 极坐标转换 (Polar) — 在直角坐标与极坐标之间转换图像,常用于圆形检测。)
      • [2.4 高斯采样 (GaussianSampling) --- 使用高斯金字塔进行降采样,用于多尺度分析。](#2.4 高斯采样 (GaussianSampling) — 使用高斯金字塔进行降采样,用于多尺度分析。)
    • [3. 滤波](#3. 滤波)
      • [3.1 卷积 (Convolution) --- 使用自定义卷积核进行线性滤波,可实现锐化、模糊、边缘检测等。](#3.1 卷积 (Convolution) — 使用自定义卷积核进行线性滤波,可实现锐化、模糊、边缘检测等。)
    • 在这里插入图片描述
      • [3.2 图像滤波工具 (Filter) --- 内置的预设滤波器,包括:高通滤波、低通滤波、中值滤波、高斯滤波等。](#3.2 图像滤波工具 (Filter) — 内置的预设滤波器,包括:高通滤波、低通滤波、中值滤波、高斯滤波等。)
    • [4. 形态学处理](#4. 形态学处理)
      • [4.1 形态学 (Morphology) --- 腐蚀、膨胀、开运算、闭运算等,用于二值图像或灰度图像的形状处理。](#4.1 形态学 (Morphology) — 腐蚀、膨胀、开运算、闭运算等,用于二值图像或灰度图像的形状处理。)
    • [5. 图像间运算](#5. 图像间运算)
      • [5.1 图像加减 (Add / Subtract) --- 两张图像之间逐像素相加或相减。](#5.1 图像加减 (Add / Subtract) — 两张图像之间逐像素相加或相减。)
    • [6. 对比度增强](#6. 对比度增强)
      • [6.1 直方图均衡化 (Equalize) --- 自动拉伸直方图,增强全局对比度。](#6.1 直方图均衡化 (Equalize) — 自动拉伸直方图,增强全局对比度。)
    • [7 质量评估](#7 质量评估)
      • [7.1 锐度工具 (Sharpness) --- 计算图像的清晰度分数,不改变图像内容;用于自动对焦或图像质量判断。](#7.1 锐度工具 (Sharpness) — 计算图像的清晰度分数,不改变图像内容;用于自动对焦或图像质量判断。)
  • [二、CogImageConvertTool 图像格式转换工具](#二、CogImageConvertTool 图像格式转换工具)
  • [三、CogIPOneImageTool 多功能图像预处理工具](#三、CogIPOneImageTool 多功能图像预处理工具)
    • [1. 概述](#1. 概述)
    • [2. 核心功能](#2. 核心功能)
      • [2.1 基础灰度运算类](#2.1 基础灰度运算类)
      • [2.2 卷与滤波类(核心去噪 + 特征增强)](#2.2 卷与滤波类(核心去噪 + 特征增强))
      • [2.3 形态学处理类](#2.3 形态学处理类)
      • [2.4 几何与重采样类](#2.4 几何与重采样类)
      • [2.5 其他实用功能](#2.5 其他实用功能)
    • [3. 操作 CogIPOneImageTool工具](#3. 操作 CogIPOneImageTool工具)
  • [四、CogPixelMapTool 像素重映射工具](#四、CogPixelMapTool 像素重映射工具)
    • [1. 概念](#1. 概念)
    • [2. 核心功能](#2. 核心功能)
    • [3. 关键参数与设置](#3. 关键参数与设置)
    • 4.作用
  • [五、CogPolarUnwrapTool 极坐标展开工具](#五、CogPolarUnwrapTool 极坐标展开工具)
    • [1. 概念](#1. 概念)
    • [2. 核心功能](#2. 核心功能)
    • [3. 采样模式参数说明](#3. 采样模式参数说明)
    • [4. 如何使用](#4. 如何使用)
  • [六、CogSobelEdgeTool Sobel边缘检测工具](#六、CogSobelEdgeTool Sobel边缘检测工具)
    • [1. 概念](#1. 概念)
    • [2. 核心功能](#2. 核心功能)
    • 3.参数说明
    • [4. 三种输出图像表示](#4. 三种输出图像表示)

一. 图片预处理参数详解

这里简介各种参数概念 便于理解工具中参数的作用和如何使用这些工具

1. 灰度变换

1.1 加减常量 (AddConstant / SubtractConstant) --- 对每个像素增加或减少一个固定数值,调整整体亮度。

加减常量 是一种基础的点运算(像素级操作),对图像中的每一个像素值加上或减去一个固定的数值 。其直接效果是整体提高或降低图像亮度,同时保持对比度不变(不考虑饱和或截断时)。

平面0代表红色®,平面1代表绿色(G),平面2代表蓝色(B)。它们其实是彩色图像独立存储的三个颜色通道 。

溢位模式 (Overflow Mode): 溢出处理很重要,有封装和箝位可选。在大多数工业场景,建议使用箝位(Clamp)模式,能确保像素值不会溢出范围,导致图像出现反常的亮度变化


1.2 灰度反转 (Invert) --- 将像素灰度值取反(黑变白,白变黑)。

灰度反转,也叫反色负片效果 ,就是把每个像素的亮度值颠倒过来:原来亮的变暗,暗的变亮。

用0(黑)到255(白)的灰度图来说:

原本是 0(纯黑) → 反转为 255(纯白)

原本是 255(纯白) → 反转为 0(纯黑)

原本是 100(中灰) → 反转为 155(也是中灰)
公式很简单:新值 = 255 -- 原值(如果图像是8位深度)

灰度反转 = 亮度取反,把图像的黑白颠倒过来。

信息不会丢失: 反转是严格一对一的映射,不会像加减常量那样产生饱和截断。原图细节都能保留,只是极性翻转。
彩色反转: 在 VisionPro 里处理彩色图时,如果你只想反转灰度(比如只针对亮度通道),需要先用 CogImageConvertTool 把彩色转成灰度图,再反转,否则你会得到一个彩色负片。


1.3 像素映射 (PixelMap) --- 通过查找表(LUT)自定义灰度映射关系,实现对比度拉伸等效果。

像素映射,简单说就是给每个灰度值重新翻译一遍。你把原图的灰度值(比如 0~255)看作一个坐标,通过一张 对照表 (LUT) 把它映射到一个新的灰度值。这样一来,你可以自由地重新分配亮度关系。

想象你有 256 个不同的亮度等级(0=纯黑,255=纯白)。PixelMap 就像一本 翻译词典

  • 原图的 0 => 你想让它变成多少?比如 255(黑变白)
  • 原图的 128 => 你想让它变成多少?比如 200(中灰提亮)
  • 原图的 255 => 你想让它变成多少?比如 0(白变黑)

PixelMap 更强大的用法包括

效果 映射方式 作用
对比度拉伸 把输入范围 [a, b] 映射到 [0, 255] 让原本灰蒙蒙的图像(灰度集中在中间)变清晰,黑白分明
提高暗部细节 低灰度区域斜率 >1 暗区被提亮,但亮区几乎不变
压制高光 高灰度区域斜率 <1 把过亮的部分压暗,保留更多亮部纹理
二值化(阈值) 映射成只有 0 和 255 两种输出 直接生成黑白二值图
Gamma 校正 使用幂函数曲线 符合人眼感知的亮度调整

举个对比度拉伸例子

拍了一张金属零件照片,背景是深灰色(灰度值 80120),零件是浅灰色(160200)。整张图对比度很低。

设置 PixelMap:

输入 80 => 输出 0(纯黑)

输入 200 => 输出 255(纯白)

中间线性映射

结果: 背景变成纯黑,零件变成纯白,边缘清晰得像黑白剪影。后续的定位或测量工具一下就能抓住零件。


2. 几何变换

2.1 缩放 (Scale) --- 改变图像的尺寸(放大或缩小),也可称为"扩展"。

就是改变图像的尺寸------可以放大(让图像变得更大更清晰吗?不,放大会变模糊)或缩小(让图像变小,细节浓缩)。

想象你有一张 500×500 像素的数码照片。
缩小: 把它改成 200×200 像素。图像变小了,文件也变小了,整体内容还在,但一些微小细节会丢失(因为很多像素被"合并"了)。
放大: 把它改成 1000×1000 像素。图像变大了,但并没有增加真正的细节,只是把原来的每个像素"撑开",然后用算法填补中间的空缺。所以放大会变模糊,出现马赛克或锯齿。

缩放的实际用途
缩小:

  • 把高分辨率图像(比如 500万像素)缩小后再做处理,能大幅提高运行速度(因为像素少了很多)。
  • 去除高频噪声(缩小本身就有低通滤波效果)。
  • 生成图像金字塔(多尺度处理)。

放大:

  • 让微小缺陷或细小特征变得更容易被人眼观察。
  • 放大不会增加真实信息,不要指望它能"修复"模糊图像。

2.2 仿射变换 (Affine) --- 包括旋转、平移、倾斜、镜像等线性变换。

仿射变换(Affine Transform) 就是对图像进行拉、扯、扭、转 的一套线性变换,能把一个平行四边形区域映射成一个矩形的操作。在工业视觉里,它的主要作用就是 摆正目标,方便后续进行测量、识别等分析。

简单调整图片尺寸(放大/缩小),用 CogIPOneImageTool 的扩展功能就够了。而当你需要把歪斜的零件扶正,进行旋转、倾斜校正时,就必须靠CogAffineTransformTool 这类专业的仿射变换工具来实现。


2.3 极坐标转换 (Polar) --- 在直角坐标与极坐标之间转换图像,常用于圆形检测。

极坐标转换是一种坐标变换方法,将图像从直角坐标系(x, y) 映射到极坐标系(r, θ):
r: 到圆心的距离(半径)
θ: 绕圆心的角度(0°~360°)
视觉上的效果: 把一个环形区域"切开拉直"成一个矩形。

映射关系: 在矩形图像中:水平轴(X) → 对应原图中的角度 θ(从左到右 = 0° 到 360°)。垂直轴(Y) → 对应原图中的半径 r(从上到下 = 内半径 → 外半径)

**结果:**原图中一个圆周上的点,在矩形图中变成同一水平行上的点。原图中一条径向线(从圆心向外),变成矩形图中的一列垂直的线。

常常使用CogPolarUnwrapTool极坐标展开工具进行操作


2.4 高斯采样 (GaussianSampling) --- 使用高斯金字塔进行降采样,用于多尺度分析。

高斯采样器 是一个集成了模糊缩小 功能的图像预处理操作,它通过预先去除高频细节和噪声,避免了图像在后续缩小尺寸时出现锯齿或图像失真,即抗混叠。它还是构建图像金字塔结构的基础单元。

想象一下: 你有一幅巨大、满是细微噪点的油画。现在需要把它缩小到巴掌大小。如果直接缩小,画里那些细碎的噪点会挤在一起,导致小图上全是杂乱的"雪花",关键内容反而看不清。
高斯采样做的: 在缩小前,先对画进行一次高斯模糊,把小噪点都"抹平",使画面更柔和。然后再缩小尺寸。这样,小图看起来就是一幅干净、平滑的画,避免了噪点干扰,也没有锯齿感。

高斯采样器在执行时的核心参数包括采样步长 (SampleX, SampleY) 与平滑强度 (SmoothnessX, SmoothnessY)

  1. 先平滑 (高斯模糊): 输入参数 平滑强度 (SmoothnessX, SmoothnessY) 实际上代表了高斯核的标准差 σ (sigma)。σ 值越大,模糊效果越强,降噪更明显,但细节损失也更大。
  2. 后采样 (降采样): 输入参数 采样步长 (SampleX, SampleY) 。采样步长表示每多少个原始像素中选取一个,值越大,最终输出的图像尺寸就越小。

3. 滤波

3.1 卷积 (Convolution) --- 使用自定义卷积核进行线性滤波,可实现锐化、模糊、边缘检测等。

卷积是一种线性滤波操作: 用一个小矩阵(卷积核) 在图像上滑动,对每个位置,将核覆盖下的像素值与核系数相乘后求和,得到输出图像在该位置的像素值。

简单理解就是
拿一个模板去扫图,每个位置都做一次加权平均

  • 模板(核)上的数字就是权重。
  • 正权重 => 保留/增强该像素;负权重 → 削弱或产生"边缘"效果。
  • 核的总和决定整体亮度变化:
    总和 = 1 => 亮度不变(如模糊)
    总和 = 0 => 提取差异(如边缘)
    总和 > 1 => 整体变亮;< 1 => 整体变暗

常见卷积核及效果

类别 核(未归一化) 归一化因子 效果
均值模糊 [1,1,1; 1,1,1; 1,1,1] 1/9 局部平均,去噪但模糊
高斯模糊 [1,2,1; 2,4,2; 1,2,1] 1/16 平滑更自然,边缘保留略好
锐化 [0,-1,0; -1,5,-1; 0,-1,0] 1 增强边缘,图像更"清晰"
Sobel水平边缘 [-1,0,1; -2,0,2; -1,0,1] 无(或1) 检测垂直边缘
Sobel垂直边缘 [-1,-2,-1; 0,0,0; 1,2,1] 无(或1) 检测水平边缘
拉普拉斯边缘 [0,-1,0; -1,4,-1; 0,-1,0] 1 各向同性边缘,对噪声敏感

为什么要用"卷积"这个麻烦的方法?

因为同一个操作(滑动窗口加权求和)只要换一组数字,就能实现三种完全不同的效果。

想模糊 : 填平均权重
想锐化 : 填中心突出权重
想找边缘 : 填正负对称权重

3.2 图像滤波工具 (Filter) --- 内置的预设滤波器,包括:高通滤波、低通滤波、中值滤波、高斯滤波等。

滤波是指通过预设或自定义的算法对图像进行平滑、去噪、锐化或边缘增强。常见的内置滤波操作有以下几类:

滤波工具 原理 效果
低通滤波(平滑/去噪) 保留图像中变化缓慢的部分(低频),抑制突变的高频噪声。 图像变模糊,噪声减少。
高通滤波(锐化/边缘增强) 提取图像中的高频成分(边缘、细节),让边缘更突出。 图像看起来更"清晰",边缘对比度提高。
中值滤波(去椒盐噪声) 用邻域内像素的中位数替换中心像素。 强力去除孤立的黑白噪点,同时保留边缘(不模糊边缘)
高斯滤波(加权平滑) 邻域内像素按高斯分布赋权(中心权重大,越远权重越小),然后加权平均。 比普通均值模糊更自然,边缘保留略好

4. 形态学处理

4.1 形态学 (Morphology) --- 腐蚀、膨胀、开运算、闭运算等,用于二值图像或灰度图像的形状处理。

形态学是一种分析和处理图像形状的技术。

形态学有两个基本操作:膨胀和腐蚀/侵蚀。基于这两种操作,还有开运算和闭运算。

膨胀和腐蚀操作

膨胀操作将图像中的目标生长变粗 ,用于扩大区域面积,连接断裂部分。

腐蚀操作则将目标收缩变细 ,用于清楚噪声和细节。

两者互为逆运算,通过结构元素与图像的卷积运算实现,是形态学处理中最基本的操作。

开运算与闭运算

开运算是先腐蚀后膨胀 ,用于祛除噪声和断开联通区域,平滑目标轮廓;

闭运算是先膨胀后腐蚀 ,用于填补空洞和弥合小的断裂

这两种运算在图像处理中具有广泛的应用,能后有效的改善图像质量。

形态学操作 每一个形态操作对应效果图


5. 图像间运算

5.1 图像加减 (Add / Subtract) --- 两张图像之间逐像素相加或相减。

图像加减的本质是像素级算术运算。对于两张尺寸完全相同的灰度图 A(尺寸为 MxN)和 B,它们之间的加法与减法运算可以精确定义为一张新图 C 的形成过程。

图像加法 (Addition) C(x, y) = A(x, y) + B(x, y)
图像减法 (Subtraction) C(x, y) = A(x, y) - B(x, y),

溢出规则: 如果结果 < 0,则 C(x, y) = 0 ;结果 > 255,则 C(x, y) = 255。

VisionPro中图像加减操作通过两个不同的工具实现 CogIPTwoImageAddTool 和CogIPTwoImageSubtractTool 工具通常使用CogImageFileTool等工具加载图片来提供输入。

特性 CogIPTwoImageAddTool CogIPTwoImageSubtractTool
核心功能 执行图像加法 (A + B) 执行图像减法 (A - B)
核心应用 图像融合、多帧降噪 缺陷检测、变化检测
关键配置 输入A (InputImageA)、输入B (InputImageB)、像素溢出模式(Pixel Overflow Mode) 输入A (InputImageA)、输入B (InputImageB)、像素溢出模式(Pixel Overflow Mode)
预处理项 可为每张输入图像定义独立的兴趣区域(ROI, Region of Interest)和对齐方式(Alignment) 可为每张输入图像定义独立的兴趣区域(ROI, Region of Interest)和对齐方式(Alignment)

图像加法主要用于融合信息或降噪,而图像减法主要用于突显差异。


6. 对比度增强

6.1 直方图均衡化 (Equalize) --- 自动拉伸直方图,增强全局对比度。

直方图均衡化是一种自动增强图像全局对比度的点运算。它通过重新映射像素灰度值,使输出图像的直方图尽可能均匀分布在 0~255 整个范围内,从而让原本偏暗、偏亮或对比度不足的图像呈现出更丰富的细节。

直方图均衡化 = 自动拉伸灰度分布,增强全局对比度。


7 质量评估

7.1 锐度工具 (Sharpness) --- 计算图像的清晰度分数,不改变图像内容;用于自动对焦或图像质量判断。

锐度工具(Sharpness)用于计算图像的清晰度分数,输出一个数值(如01或0100),分数越高表示图像越清晰;它只分析不修改图像内容,主要用于自动对焦时寻找峰值清晰度,或在线监控图像质量(低于阈值报警)。其工作原理基于分析边缘梯度强度或高频分量。在VisionPro中,

主要用途

自动对焦:在连续调焦过程中,寻找清晰度分数最高的位置(峰值对焦)。

图像质量监控:在生产线上定期检测图像清晰度,若分数低于阈值则报警(镜头脏污、失焦、光源问题)。

工作原理

锐度工具通过分析图像中边缘的梯度强度或高频分量来评估清晰度。常见的算法包括:

  • 梯度能量(Sobel、Laplacian)
  • 频域分析(傅里叶变换)
  • 相邻像素差异统计

清晰图像 => 边缘锐利、高频丰富 => 分数高

模糊图像 => 边缘平滑、高频缺失 => 分数低

输出解释

分数范围 含义
接近 1 或 100 图像非常清晰
中等 可接受的清晰度
接近 0 图像严重模糊

二、CogImageConvertTool 图像格式转换工具

将彩色图像转为8位灰度图像

下面样例图 均为此工具输出的灰度图

三、CogIPOneImageTool 多功能图像预处理工具

1. 概述

所有功能都服务于工业机器视觉的图像增强 + 特征突出,为后续定位、识别、检测等核心算法扫清干扰。它集成了数十种算法,涵盖亮度/对比度调整、滤波降噪、形态学处理等多个核心模块。

2. 核心功能

2.1 基础灰度运算类

功能名称 核心作用 工业场景用法 通俗原理
加 / 减常量 全局调整图像亮度,给所有像素的灰度值统一加 / 减一个固定数值 环境光偏暗导致整体画面发灰时,用加常量 提亮;画面过曝时,用减常量压暗,快速拉回正常曝光 给图像里每一个像素的亮度值,统一做加减法,比如加 30 就是全图整体变亮 30 个灰度级
乘以常数 线性调整图像对比度,放大 / 缩小像素间的亮度差异 当目标和背景的亮度差太小、特征不明显时,用乘大于 1 的常数 放大对比度;画面亮度分布不均时,用乘小于 1 的常数压缩动态范围 给所有像素的灰度值统一做乘法,比如乘 1.5 就是把亮的更亮、暗的更暗,拉开明暗差距
像素映射 自定义灰度值的转换规则,实现非线性的亮度 / 对比度调整 针对特定灰度区间做精细调整,比如只提亮暗部、不影响亮部,或者只压缩过曝的高亮区域,比加减乘除更灵活 相当于给每个灰度值做 一对一翻译,比如把灰度值 0-50 放大到 0-100,把 200-255 压缩到 180-220
量化 降低图像的灰度等级,减少灰度层次 高速检测场景下,用低灰度等级(比如从 256 级降到 32 级)减少计算量,同时过滤掉微小的亮度噪声 把连续的灰度值 "合并归类",比如相邻的几个灰度值都归为同一个等级,画面的色彩过渡会变 "硬",同时噪点会减少

2.2 卷与滤波类(核心去噪 + 特征增强)

功能名称 核心作用 工业场景用法 通俗原理
卷积 3x3 用固定 3x3 大小的卷积核对图像做滤波,实现去噪、边缘增强、模糊等效果 快速做基础图像处理:用均值卷积做基础模糊、用锐化卷积做边缘强化、用拉普拉斯卷积做边缘提取 用一个 3×3 的 滑动窗口"在图像上逐像素滑动,用窗口内像素的加权和,替换中心像素的数值
卷积 NxM 自定义任意 N 行 M 列大小的卷积核,实现更灵活的滤波效果 针对大尺寸噪声、特定方向的纹理做处理,比如用 5×5 高斯核做大范围柔化,用横向卷积核强化水平边缘 和 3×3 卷积原理完全一致,只是窗口大小可以自由定义,适配更复杂的场景
高通过滤器 保留图像中的高频信息(边缘、纹理、突变区域),抑制低频信息(大面积的均匀背景) 背景有缓慢的亮度渐变干扰时,用它过滤掉背景,只保留工件的边缘、划痕、字符等高频特征 相当于 "高通音箱",只让画面里 "变化快" 的细节通过,把 "变化慢" 的大面积背景过滤掉
3x3 中值 用 3×3 窗口内的像素中值替换中心像素,去除椒盐噪声、斑点噪声 工业现场最常用的去噪功能,比如图像里的亮斑、暗点、飞点,用它去噪的同时,能最大程度保留边缘 取 3×3 窗口里所有像素亮度的中间值,替换中心像素,噪点这种 "突兀的极值" 会被直接过滤,不会被放大
中值 NxM 自定义 N×M 窗口的中值滤波,适配不同大小的噪声 面对大面积的颗粒噪声、大尺寸的斑点干扰时,用更大的窗口(如 5×5、7×7)做中值滤波 和 3×3 中值原理一致,窗口越大,去噪能力越强,但同时也会让边缘变模糊
采样卷积 结合图像降采样的卷积运算,兼顾处理速度与效果 大分辨率图像做预处理时,先降采样再做卷积,大幅减少计算量,提升检测速度 先把图像缩小,再做卷积处理,最后恢复尺寸,用牺牲少量精度的代价,换成倍的速度提升

2.3 形态学处理类

功能名称 核心作用 工业场景用法 通俗原理
灰度形态调整 用固定结构元素做灰度形态学操作(膨胀、腐蚀、开运算、闭运算) 处理灰度图像的特征:用闭运算填充工件表面的小黑洞、用开运算去除表面的亮噪点、用膨胀强化亮特征、用腐蚀收缩亮区域 用一个 "探针" 在图像上滑动,通过 "最大值 / 最小值替换" 改变亮暗区域的形状,比如膨胀会让亮的区域变大,腐蚀会让亮的区域变小
灰度形态调整 NxM 自定义 N×M 结构元素的灰度形态学操作 针对特定形状的干扰 / 特征做处理,比如用横向结构元素去除横向的划痕、用圆形结构元素填充圆形的孔洞 和基础灰度形态原理一致,只是 "探针" 的大小、形状可以自定义,适配更精准的场景

2.4 几何与重采样类

功能名称 核心作用 工业场景用法 通俗原理
翻转 / 旋转 对图像做水平 / 垂直翻转,或任意角度的旋转 工件姿态不固定时,先把图像旋转到统一方向,再做检测;或者镜像安装的相机,用翻转还原正确画面 对整幅图像的像素坐标做几何变换,实现画面的左右 / 上下颠倒,或角度旋转
扩展 给图像边缘填充像素,扩大图像尺寸 卷积、形态学操作后,图像边缘会出现黑边 / 无效区域,用它填充边缘,避免边缘信息丢失 在图像的四周新增像素,填充方式可以选固定灰度、复制边缘像素等,保证后续处理不越界
二次采样器 图像的缩放(放大 / 缩小),支持多种插值算法 大分辨率图像缩小以提升处理速度,或小特征图像放大以看清细节,同时保证缩放后的图像质量 重新计算图像的像素数量,缩小是合并像素,放大是插值生成新像素,支持双线性、双三次等多种插值方式
高斯采样器 结合高斯模糊的图像降采样,抗锯齿效果更好 图像缩小前先做高斯模糊,避免缩小后出现锯齿、摩尔纹,适合高精度特征的预处理 先对图像做高斯柔化,再缩小尺寸,既能降速,又能避免缩小带来的锯齿失真

2.5 其他实用功能

功能名称 核心作用 工业场景用法 通俗原理
均衡 直方图均衡化,自动拉伸图像的灰度分布,提升全局对比度 图像整体偏暗 / 偏亮、对比度不足时,自动让亮的更亮、暗的更暗,让特征更突出 把图像的灰度直方图拉平,让所有灰度级都均匀出现,自动提升画面的对比度
丢失像素 处理图像中的坏点、无效像素 相机传感器有坏点、图像出现固定位置的黑点 / 白点时,用它修复这些无效像素 识别出无效的像素,用周围正常像素的数值替换,修复图像缺陷

3. 操作 CogIPOneImageTool工具

传入图像

操作乘与常数

操作卷积3*3 噪声敏感

还有多种处理图像的方式 这里就不一一列举了

四、CogPixelMapTool 像素重映射工具

1. 概念

CogPixelMapTool 是一个支持自定义分段线性映射的专业灰度重映射工具,适用于对比度拉伸、16-bit 量化、手动灰度变换等高级预处理场景,比 CogIPOneImageTool 提供更灵活的曲线控制。

2. 核心功能

  1. 自定义灰度映射: 通过添加基准点绘制分段线性映射曲线,实现任意输入灰度到输出灰度的转换(如对比度拉伸、局部增强)。
  2. 输出位深控制: 可将高位深图像(如16-bit)转换为低位深(8-bit),用于后续工具兼容或数据量化。
  3. 辅助线性调整: 支持在映射后叠加缩放、偏移、反色等操作,灵活微调输出效果。
  4. 自动/手动双模式: 自动模式根据直方图生成映射(类似均衡化);手动模式允许用户精确控制每个灰度区间的变换关系。
  5. 仅作用于灰度: 对单张灰度图或彩色图的各通道分别应用相同映射,不改变像素位置

3. 关键参数与设置

参数项 说明
基准点(Anchor Points) 定义映射的关键点,每个点包含输入灰度值 x 和输出灰度值 y。工具自动在点之间线性插值。
对数直方图(Log Histogram) 当图像灰度集中在暗区时,开启此选项可使直方图显示更清晰,便于观察和设置基准点。
输出位深(Output Pixel Depth) 指定输出图像的位深(如 CogImage8Grey、CogImage16Grey)。输出位深不能高于输入图像。
输出缩放(Scale) 在映射完成后,对输出值乘以一个系数。
输出偏移(Offset) 在映射完成后,对输出值加上一个常数。
反色(Invert) 对最终输出值做 255 - value(8-bit)或 65535 - value(16-bit)反转

4.作用

CogPixelMapTool 的作用是对图像中每个像素的灰度值进行自定义重映射,通过查找表或分段线性曲线将输入灰度转换为输出灰度。它主要用于拉伸对比度、改善图像动态范围、将16-bit图像量化为8-bit、以及实现手动控制的非线性灰度变换(如模拟伽马校正或自定义均衡化),从而让后续检测工具更容易提取目标特征。

五、CogPolarUnwrapTool 极坐标展开工具

1. 概念

它通过极坐标-笛卡尔坐标变换,将圆形/椭圆/环形区域展开为矩形图像,解决了圆周上字符识别难、环形表面缺陷检测不方便的核心问题。在 VisionPro 项目中,通常配合 CogFindCircleTool 定位圆心,再配合 CogOCRMaxTool 或 CogBlobTool 进行分析,是工业视觉中"环形目标检测"的必备预处理工具。

2. 核心功能

将环形 / 圆形 / 椭圆目标的表面图像从环形卷绕形态 拆成平铺矩形形态,解决圆形 / 椭圆区域直接检测不便的问题

3. 采样模式参数说明

采样模式

模式 原理简述 优点 缺点 推荐程度
最近邻采样 (Nearest Neighbor) 简单粗暴地直接选用离采样点最近的那个像素的数值。 计算速度非常快。 精度较低, 产生的图像边缘会有锯齿,看起来不平滑。
双线性插值 (Bilinear Interpolation) 一种更精细的算法。它会参考采样点周围最近的4个像素,根据它们到采样点的距离进行加权平均,计算出更精准的新像素值。 展开的图像边缘更平滑、更自然。 计算量稍大,速度比最近邻采样略慢。 强烈推荐,是几乎所有精度检测任务的默认选项。

X/Y 缩放系数控制展开图像的尺寸

输出宽度 = 默认宽度 × ScalingX

输出高度 = 默认高度 × ScalingY

4. 如何使用

随便在网上找了一张图

进行灰度转换(这里不进行其他工具操作 只对CogPorlarUnwrapTool 工具进行操作)

输出图像结果

六、CogSobelEdgeTool Sobel边缘检测工具

1. 概念

梯度边缘检测器,输出边缘强度和方向图像,支持后处理细化边缘,常与 Blob 分析工具串联用于轮廓提取和缺陷检测。

2. 核心功能

CogSobelEdgeTool 的核心功能是检测图像中的边缘,输出两张结果图:边缘幅度图像(像素越亮表示该处边缘越强)和边缘角度图像(编码边缘的方向),并可选择性地对边缘进行细化或过滤虚假边缘。

3.参数说明

参数 说明 建议
输入图像 待检测的灰度图像 必要时先用 CogIPOneImageTool 降噪
操作区域 整图或 ROI 整图模式下输出尺寸会减少2像素
幅度缩放系数 放大/缩小边缘强度(0.5~ 50) 金属件=5~ 7,塑料件=10~15,弱边缘可适当增大
全像素峰值探测 将厚边缘细化为单像素宽 需要精确边缘位置时启用
滞后阈值化 双阈值过滤虚假边缘 消除噪声造成的孤立边缘

4. 三种输出图像表示

**EdgeMagnitudeImage 原始梯度幅值图像:**计算每个像素点的边缘强度(如 Sobel 算子的梯度幅值),值越大表示边缘越明显。未经过非极大值抑制,边缘较粗、响应较宽。

EdgeAngleImage 梯度方向图像: 存储每个像素点的边缘方向(通常为 0°~ 180° 或 0°~ 360°),用于后续非极大值抑制和边缘连接。像素值代表该点的法线方向(垂直于边缘的方向)。

FinalMagnitudeImage 最终边缘幅值图像: 通常指非极大值抑制(NMS)后的边缘幅值图像。沿梯度方向保留局部最大值,抑制非边缘点,使边缘细化至单像素宽度。之后可能还会进行双阈值及连接处理,但此处的Magnitude 仍表示幅值,而非二值边缘图。

相关推荐
阳光宅男@李光熠4 小时前
【电子通识】贴片电阻上的丝印332、5R6、1502、01C怎么读出阻值?
笔记·学习
iCxhust4 小时前
AD0808调试笔记
笔记·单片机·嵌入式硬件·操作系统·微机原理·8088单板机
雪豹阿伟5 小时前
9.C# —— string拓展方法、StringBuilder高性能处理
c#·上位机
李星星_Alex5 小时前
如何通过 C# 抓取抖音 RTMP 推流码实现自主推流
c#·抖音
sakiko_5 小时前
Swift学习笔记31-网络请求
网络·笔记·学习·swift
夜雪闻竹6 小时前
nomic-embed-text vs text-embedding-3-small 横评
笔记·embedding
想七想八不如114086 小时前
目标检测笔记2
人工智能·笔记·目标检测
nkwshuyi7 小时前
如何用 AI 帮你自动构建卡片笔记盒?
人工智能·笔记
玄米乌龙茶1238 小时前
LLM成长笔记(八):Agent 智能体开发
笔记