Radon变换推导Matlab,找到合理的F(x,y)

问题描述 投票:1回答:1

对于大学的一个项目,我正在使用手指静脉图像上的几个“质量评估”指标。现在我尝试实现一个使用Radon变换的度量标准,我在某些时候陷入困境,在Matlab中这样做。

我的问题如下:

我得到了Radon变换的以下公式。在第一步中,我在Matlab中使用了内置的一个,但是为了进一步实现度量,我需要为曲线的曲率推导出事物。

delta是dirac-delta函数。

推导:

所以我的目的是用公式自己计算Radon变换但我的问题是F(x,y)是位于(x,y)的像素的灰度值。因此我需要一个函数F(x,y),它给出了我可以放入的像素的灰度值来计算导数和双积分。

我怎样才能获得这样的功能?或者我用我得到的函数的像素值做了某种“曲线拟合”?

提前致谢。

matlab image-processing derivative
1个回答
1
投票

据我了解你的问题,你可以做两件事:

  1. 以数字方式计算Radon变换的导数(如Ander Biguri在上面的评论中所建议的那样)。如果仔细计算Radon变换,它将是一个带限函数,使得衍生物的计算成为可能。有关如何强制执行带限变换的一些想法,请参阅本文:"The generalized Radon transform: sampling, accuracy and memory considerations"PDF)。
  2. 以数字方式计算图像的导数,然后对这些导数进行采样以计算C函数。也就是说,你计算dF / dx,dF / dy,d ^ 2F / dx ^ 2,以及你需要的任何衍生物作为图像。如果需要更高的精度,可以插入这些导数。

IMO计算离散图像衍生物的最佳方法是通过Gaussian derivatives。请注意,这适用于上述两种解决方案。例如,dF / dx(Fx)可以通过(see here for more details)计算:

h = fspecial('gaussian',[1,2*cutoff+1],sigma);
dh = h .* (-cutoff:cutoff) / (-sigma^2);
Fx = conv2(dh,h,F,'same');

PS:对所有的自我引用感到抱歉,但我过去曾经在这些主题上做过很多工作。 :)

© www.soinside.com 2019 - 2024. All rights reserved.