gen_mean_filter — 在频域中的均值滤波器。 :
gen_mean_filter 在频域中生成均值滤波器。均值滤波器的形状由 MaskShape 决定。对于 MaskShape = ‘rectangle’,生成一个矩形均值滤波器。对于 MaskShape = ‘ellipse’,会生成一个椭圆均值滤波器。空间域中均值滤波器的直径(即平滑量)由 Diameter1 和 Diameter2 确定。直径 1 是由角度 Phi 确定的空间域中滤波器的主方向上的直径。为了实现过滤操作的最大整体效率,参数 Norm 可用于指定过滤器的归一化因子。如果使用 fft_generic 和 Norm = ‘n’,则可以避免 FFT 中的归一化。模式可用于确定滤波器的 DC 项位于何处或是否应在实值 FFT 中使用滤波器。如果使用 fft_generic,则可以使用“dc_edge”来提高效率。如果 fft_image 和 fft_image_inv 用于过滤,则必须使用 Norm = ‘none’ 和 Mode = ‘dc_center’。如果使用 rft_generic,则必须使用 Mode = ‘rft’。
gen_mean_filter(
ImageMean, //均值滤波器作为频域中的图像
MaskShape, //Shape of the filter mask in the spatial domain.
//Default value: 'ellipse'
//List of values: 'ellipse', 'rectangle'
Diameter1, //空间域中滤波器主方向的均值滤波器直径。
//Default value: 11.0
//Suggested values: 3.0, 5.0, 7.0, 9.0, 11.0, 15.0, 21.0, 31.0, 51.0
//Restriction: Diameter1 > 0
Diameter2, //在空间域中垂直于滤波器主方向的均值滤波器的直径。
Phi, //空间域中滤波器的主方向。
//Default value: 0.0
//Suggested values: 0.0, 0.523599, 0.785398, 1.047198, 1.570796, 2.094395, 2.356194, 2.617994, 3.141593
Norm, //过滤器的归一化因子。
//Default value: 'none'
//List of values: 'n', 'none'
Mode, //Location of the DC term in the frequency domain.
//Default value: 'dc_center'
//List of values: 'dc_center', 'dc_edge', 'rft'
Width, //Width of the image (filter).
//Default value: 512
//List of values: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048, 4096, 8192
Height //Height of the image (filter).
//Default value: 512
//List of values: 120, 128, 144, 240, 256, 288, 480, 512, 576, 1024, 2048, 4096, 8192
)
注:具体工程代码见MFC联合Halcon处理gen_mean_filter
mean_curvature_flow — Apply the mean curvature flow to an image.:
算子 mean_curvature_flow 应用平均曲率流或固有热方程
mean_curvature_flow(
Image, //Input image.
ImageMCF, //Output image.
Sigma, //导数算子的平滑参数。
Theta, //Time step.
Iterations //Number of iterations.
)
使用平均曲率流增强血管造影图像
注:具体工程代码见MFC联合Halcon处理mean_curvature_flow
mean_image — Smooth by averaging.:
算子mean_image对所有输入图像(Image)的灰度值进行线性平滑。过滤器矩阵由 1 组成(评估相同),大小为 MaskHeight x MaskWidth。卷积的结果除以 MaskHeight x MaskWidth 。对于边界处理,灰度值反映在图像边缘。
对于 mean_image,使用 SIMD 技术实现了特殊优化。这些特殊优化的实际应用由系统参数“mmx_enable”控制(参见 set_system)。如果“mmx_enable”设置为“true”(并且 SIMD 指令集可用),则使用 SIMD 技术执行内部计算。请注意,SIMD 技术在大而紧凑的输入区域上表现最佳。根据输入区域和硬件的能力,使用 SIMD 技术执行 mean_image 甚至可能比不使用 SIMD 技术花费更多的时间。
无论如何,选择 Image 的输入区域以避免任何边界处理对 mean_image 的性能是有利的.
mean_image(
Image, //Image to be smoothed.
ImageMean, //Smoothed image.
MaskWidth, //Width of filter mask.
MaskHeight //Height of filter mask.
)
mean_matrix — Returns the elementwise mean of a matrix.:
运算符 mean_matrix 返回由矩阵句柄 MatrixID 定义的矩阵元素的平均值。 使用结果生成一个新矩阵 MatrixMean,并返回该矩阵的矩阵句柄 MatrixMeanID。 可以访问矩阵的元素,例如 使用运算符 get_full_matrix。
可以通过参数 MeanType 选择矩阵的均值确定类型:
‘columns’:
分别为矩阵的每一列返回平均值。 生成的矩阵 MatrixMean 具有与输入矩阵相同的一行和相同的列数。
例子:
‘rows’:
分别为矩阵的每一行返回平均值。 生成的矩阵 MatrixMean 具有与输入矩阵相同的行数和一列。
例子:
‘full’:
使用矩阵的所有元素返回平均值。 生成的矩阵 MatrixMean 有一行和一列。
Example:
mean_matrix(
MatrixID,
MeanType,
MatrixMeanID
)
注:具体工程代码见MFC联合Halcon处理adjust_circle_matrix
mean_n — Average gray values over several channels.:
void MeanN(
const HObject& Image, //Multichannel gray image.
HObject* ImageMean //Result of averaging.
)
运算符 mean_n 生成所有通道的逐像素平均值。 对于每个坐标点,计算该坐标处所有灰度值的总和。 结果是灰度值的平均值(总和除以通道数)。 输出图像有一个通道。 `
mean_sp — 抑制椒盐噪声。:
运算符 MeanSp 通过对这些值进行平均来执行平滑。 仅对从 MinThresh 到 MaxThresh 区间内的灰度值进行平均。 在求和过程中忽略太亮或太暗的灰度值。 如果求和过程中默认区间内没有灰度值,则采用原始灰度值。 如果阈值分别设置为 0 或 255,则运算符 MeanSp 的行为类似于 MeanImage,但运行时间除外。
运算符 MeanSp 用于抑制极端灰度值(椒盐噪声 = 白点和黑点)。
void MeanSp(
const HObject& Image,
HObject* ImageSPMean,
const HTuple& MaskWidth,
const HTuple& MaskHeight,
const HTuple& MinThresh,
const HTuple& MaxThresh
)
确定图像的噪声分布。 :
noise_distribution_mean 计算图像 Image 的某个区域中的噪声分布。 参数 ConstRegion 确定具有近似恒定灰度值的图像区域。 理想情况下,灰度值的变化应该只由该区域的噪声引起。 从此区域确定噪声分布,通过使用 mean_image 算子对图像进行平滑处理,并使用该区域的灰度值差异作为噪声分布的估计值,该估计值在 Distribution 中返回。
noise_distribution_mean(
ConstRegion, //Region from which the noise distribution is to be estimated.
Image, //Corresponding image.
FilterSize, //Size of the mean filter.
Distribution //Noise distribution of all input regions.
)
region_to_mean — Paint regions with their average gray value.:
region_to_mean(
Regions, //Input regions.
Image, //original gray-value image.
ImageMean //Result image with painted regions.
)
Segment an RGB image with an SVM classifier
Segment an RGB image with an MLP classifier
regiongrowth_mean — 使用平均灰度值执行区域增长 :
regiongrowth_mean 使用区域的平均灰度值执行区域增长,从 StartRows 和 StartColumns 给出的点开始。 在过程中的任何时候,都会计算当前区域的平均灰度值。 如果区域边界处的灰度值与当前平均值的差异小于 Tolerance,则将其添加到区域中。 小于 MinSize 的区域被抑制。
如果没有给出起始点(空元组),则扩展过程从最左上角开始,并在创建区域后从第一个未处理的点继续。
regiongrowing_mean(
Image, //Segmented regions.
Regions, //Segmented regions.
StartRows, //Row coordinates of the starting points.
StartColumns, //Column coordinates of the starting points.
Tolerance, //Maximum deviation from the mean.
MinSize //Minimum size of a region.
)
smooth_funct_1d_mean — Smooth an equidistant 1D function by averaging its values.:
运算符 smooth_funct_1d_mean 通过多次应用平均(均值)滤波器来平滑一维函数。 该函数必须是等距的,即使用 create_funct_1d_array、sample_funct_1d 或类似函数创建。 在函数边界处,函数值被镜像。
如果给 SmoothSize 一个偶数值而不是一个奇数值,则例程使用下一个较大的奇数值代替(这样总是明确地确定过滤器掩码的中心)。
smooth_funct_1d_mean(
Function, //1D function.
SmoothSize, //Size of the averaging mask.
Iterations, //Number of iterations for the smoothing.
SmoothedFunction //Smoothed function.
)
trimmed_mean — Smooth an image with an arbitrary rank mask.:
算子 trimmed_mean 对所有输入图像 (Image) 的灰度值进行非线性平滑。 过滤器掩码(Mask)以区域的形式传递。 计算位于中值附近的 Number 灰度值的平均值。 可以选择几种边界处理进行过滤(Margin):
灰度值 假定图像边缘之外的像素是恒定的(具有指示的灰度值)。
‘continue’ 边缘像素的延续。
‘cyclic’ 图像边缘的循环延续。
‘mirrored’ 图像边缘像素的反射。
trimmed_mean(
Image, //Image to be filtered.
Mask, //Image whose region serves as filter mask.
ImageTMean, //Filtered output image.
Number, //Number of averaged pixels. Typical value: Surface(Mask) / 2.
Margin //Border treatment.
)
tuple_mean — Return the mean value of a tuple of numbers.:
tuple_mean(
Tuple, //Input tuple.
Mean //Mean value of tuple elements.
)
tuple_mean 将输入元组 Tuple 的所有元素的平均值作为输出参数 Mean 中的浮点数返回。 输入元组可能只包含数字(整数或浮点数)。