YuanhaoGong / CurvatureFilter

Curvature Filters are efficient solvers for Variational Models
377 stars 106 forks source link

在matlab的代码里有一个疑问 #9

Closed tc-qaq closed 7 years ago

tc-qaq commented 7 years ago

在matlab代码CF.m 中求梯度的时候: function [gx, gy]=mygrad(im) gx=[im(:,2)-im(:,1) (im(:,3:end)-im(:,1:end-2))./2 im(:,end)-im(:,end-1)]; gy=[im(2,:)-im(1,:) ; (im(3:end,:)-im(1:end-2,:))./2 ; im(end,:)-im(end-1,:)];

这里面中间部分是不是 应该把(im(:,3:end)-im(:,1:end-2))./2 改成 (im(:,3:end-1)-im(:,2:end-2))./2

YuanhaoGong commented 7 years ago

不是。边界上用的是向前向后差分,而里面用的是中心差分。你建议公式的是向后差分的一半?我感觉不是很合理。

Best, Yuanhao Gong


Computer Vision Lab, ETH Zurich

http://e-collection.library.ethz.ch/eserv/eth:47737/eth-47737-02.pdf

PhD, ETH Zurich, Switzerland M.S., Xiamen University, China B.S., Tsinghua University, China

On Sat, Jun 3, 2017 at 3:47 PM, 汤成 notifications@github.com wrote:

在matlab代码CF.m 中求梯度的时候: function [gx, gy]=mygrad(im) gx=[im(:,2)-im(:,1) (im(:,3:end)-im(:,1:end-2))./2 im(:,end)-im(:,end-1)]; gy=[im(2,:)-im(1,:) ; (im(3:end,:)-im(1:end-2,:))./2 ; im(end,:)-im(end-1,:)];

这里面中间部分是不是 应该把(im(:,3:end)-im(:,1:end-2))./2 改成 (im(:,3:end-1)-im(:,2:end-2))./2

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/YuanhaoGong/CurvatureFilter/issues/9, or mute the thread https://github.com/notifications/unsubscribe-auth/AMOo7aE07kVUa3S08xMBgvzEhrqaOcR5ks5sAWQFgaJpZM4NvFu- .

tc-qaq commented 7 years ago

我明白了,谢谢!