【发布时间】:2015-04-27 16:39:15
【问题描述】:
我想根据 G. Sapiro 的自蛇模型生成边缘停止参数,以消除乘性噪声。函数是 g(r) = 1/(1+(r/k)^2),其中 r 是 ∇u 的大小。 u 是实际图像。我的代码如下
[GradientX,GradientY] = gradient(double(originimg));
Gr = sqrt((GradientX.*GradientX)+(GradientY.*GradientY));
[X1, Y1]=size(Gr);
for i=1:X1
for j=1:Y1
r = mean(Gr(i,:));
end
end
stParam = 1 / (1 + ((r / gradTP)^2));
gradTP=1 的值。
但我没有得到预期的结果。 实际上它给出了一个矩阵作为结果,但根据我正在关注的论文,参数必须是一个标量。请提出一些出路。提前致谢。
【问题讨论】:
-
您的
for循环没有任何意义。一方面,j索引变量没有被使用。最重要的是,r在循环的每次迭代中都会被更改,而不会被使用。您能否提供更多关于r实际应该是什么的见解?是图像整体的大小,还是每个点的大小? -
其实r是整个图像的梯度大小。但这就是我卡住的地方。这就是为什么我想到将 r 的值作为平均值。你能帮帮我吗?
标签: image matlab image-processing gradient edge-detection