coherence_enhancing_diffcoherence_enhancing_diffCoherenceEnhancingDiffCoherenceEnhancingDiffcoherence_enhancing_diff相干增强扩散(算子)

名称

coherence_enhancing_diffcoherence_enhancing_diffCoherenceEnhancingDiffCoherenceEnhancingDiffcoherence_enhancing_diff — 对图像执行相干增强扩散。

签名

coherence_enhancing_diff(Image : ImageCED : Sigma, Rho, Theta, Iterations : )

Herror coherence_enhancing_diff(const Hobject Image, Hobject* ImageCED, double Sigma, double Rho, double Theta, const Hlong Iterations)

Herror T_coherence_enhancing_diff(const Hobject Image, Hobject* ImageCED, const Htuple Sigma, const Htuple Rho, const Htuple Theta, const Htuple Iterations)

void CoherenceEnhancingDiff(const HObject& Image, HObject* ImageCED, const HTuple& Sigma, const HTuple& Rho, const HTuple& Theta, const HTuple& Iterations)

HImage HImage::CoherenceEnhancingDiff(double Sigma, double Rho, double Theta, Hlong Iterations) const

static void HOperatorSet.CoherenceEnhancingDiff(HObject image, out HObject imageCED, HTuple sigma, HTuple rho, HTuple theta, HTuple iterations)

HImage HImage.CoherenceEnhancingDiff(double sigma, double rho, double theta, int iterations)

def coherence_enhancing_diff(image: HObject, sigma: float, rho: float, theta: float, iterations: int) -> HObject

描述

算子 coherence_enhancing_diffcoherence_enhancing_diffCoherenceEnhancingDiffCoherenceEnhancingDiffCoherenceEnhancingDiffcoherence_enhancing_diff 对输入图像 ImageImageImageImageimageimage 执行各向异性扩散过程,以增强图像结构在 ImageImageImageImageimageimage 中所含的连贯性。特别地,非连续的图像边缘通过扩散连接起来,同时不会在其主导方向上进行垂直平滑处理。为此,coherence_enhancing_diffcoherence_enhancing_diffCoherenceEnhancingDiffCoherenceEnhancingDiffCoherenceEnhancingDiffcoherence_enhancing_diff 采用 Weickert 提出的各向异性扩散方程 对于依赖于 ImageImageImageImageimageimage 中灰度值的 2×2 系数矩阵 G,这是对由输入图像 ImageImageImageImageimageimage 在时间 定义的灰度值函数 u 上的平均曲率流或内在热方程 的改进。平滑算子 mean_curvature_flowmean_curvature_flowMeanCurvatureFlowMeanCurvatureFlowMeanCurvatureFlowmean_curvature_flow 是平均曲率流方程的直接应用。离散扩散方程在 IterationsIterationsIterationsIterationsiterationsiterations 个时间步长为 ThetaThetaThetaThetathetatheta 的时间间隔内求解,使得输出图像 ImageCEDImageCEDImageCEDImageCEDimageCEDimage_ced 包含时间 处的灰度值函数。

为更稳健地检测边缘方向(尤其在噪声输入数据上),可在计算灰度值梯度之前增加一个各向同性平滑步骤。参数 SigmaSigmaSigmaSigmasigmasigma 通过对应高斯卷积核的标准差来确定平滑的强度,该参数在 isotropic_diffusionisotropic_diffusionIsotropicDiffusionIsotropicDiffusionIsotropicDiffusionisotropic_diffusion 算子中用于各向同性图像平滑处理。

对于算子 mean_curvature_flowmean_curvature_flowMeanCurvatureFlowMeanCurvatureFlowMeanCurvatureFlowmean_curvature_flow,矩阵 G 由以下公式给出: 其中 I 表示单位矩阵。对于算子 coherence_enhancing_diffcoherence_enhancing_diffCoherenceEnhancingDiffCoherenceEnhancingDiffCoherenceEnhancingDiffcoherence_enhancing_diff 再次通过标准差为 RhoRhoRhoRhorhorho 的高斯滤波器进行分量平滑处理。随后,通过中间矩阵的特征值 及其特征向量 构造最终系数矩阵 其中函数 是根据经验确定,并取自 Weickert 的发表文献。

因此,mean_curvature_flowmean_curvature_flowMeanCurvatureFlowMeanCurvatureFlowMeanCurvatureFlowmean_curvature_flow 中的扩散方向仅由灰度值梯度的局部方向决定,而 则考虑图像对象在尺度 RhoRhoRhoRhorhorho 上的宏观结构;coherence_enhancing_diffcoherence_enhancing_diffCoherenceEnhancingDiffCoherenceEnhancingDiffCoherenceEnhancingDiffcoherence_enhancing_diff 中的扩散强度则取决于该结构的定义清晰度。

注意

请注意,若使用域缩减后的图像作为输入,滤波器算子可能会返回意外结果。请参阅 滤波器 一章

执行信息

参数

ImageImageImageImageimageimage (输入对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / uint2 / real)

输入图像。

ImageCEDImageCEDImageCEDImageCEDimageCEDimage_ced (输出对象)  image(-array) objectHImageHObjectHImageHobject * (byte / uint2 / real)

输出图像。

SigmaSigmaSigmaSigmasigmasigma (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

对导数算子进行平滑处理。

默认值: 0.5

建议值: 0.0, 0.1, 0.5, 1.0

限制: Sigma >= 0

RhoRhoRhoRhorhorho (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

扩散系数的平滑处理。

默认值: 3.0

建议值: 0.0, 1.0, 3.0, 5.0, 10.0, 30.0

限制: Rho >= 0

ThetaThetaThetaThetathetatheta (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

时间步长。

默认值: 0.5

建议值: 0.1, 0.2, 0.3, 0.4, 0.5

限制: 0 < Theta <= 0.5

IterationsIterationsIterationsIterationsiterationsiterations (输入控制)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

迭代次数。

默认值: 10

建议值: 1, 5, 10, 20, 50, 100, 500

限制: Iterations >= 1

参考文献

J. Weickert, V. Hlavac, R. Sara; “Multiscale texture enhancement”; Computer analysis of images and patterns, Lecture Notes in Computer Science, Vol. 970, pp. 230-237; Springer, Berlin; 1995.
J. Weickert, B. ter Haar Romeny, L. Florack, J. Koenderink, M. Viergever; “A review of nonlinear diffusion filtering”; Scale-Space Theory in Computer Vision, Lecture Notes in Comp. Science, Vol. 1252, pp. 3-28; Springer, Berlin; 1997.

模块

基础