解决error: strel: N for disk shape not yet implemented, use N of 0

解决error: strel: N for disk shape not yet implemented, use N of 0

使用Octave来编辑matlab文件,发现有些功能octave是还没有实现的,所以会报错,具体的missing function可以参见这里,这里我是以Image Package 的strel的missing function为例,其他的Package可以参见

关于标题的错误,我是参考这里解决的

具体做法

我的原代码

function D_err = disp_error_image (D_gt,D_est,tau,dilate_radius)

if nargin==3
  dilate_radius = 1;
end

[E,D_val] = disp_error_map (D_gt,D_est);
E = min(E/tau(1),(E./abs(D_gt))/tau(2));


cols = error_colormap();

D_err = zeros([size(D_gt) 3]);

for i=1:size(cols,1)
  [v,u] = find(D_val > 0 & E >= cols(i,1) & E <= cols(i,2));
  D_err(sub2ind(size(D_err),v,u,1*ones(length(v),1))) = cols(i,3);
  D_err(sub2ind(size(D_err),v,u,2*ones(length(v),1))) = cols(i,4);
  D_err(sub2ind(size(D_err),v,u,3*ones(length(v),1))) = cols(i,5);
end

D_err = imdilate(D_err,strel('disk',dilate_radius));

报错是在最后一行,因为octave缺失strel的功能,所以就不使用这个函数了,改成以下:

d=ceil(dilate_radius);
x=(-d:d).^2;
se=(x+x.')<dilate_radius.^2;
D_err=imdilate(D_err,se);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值