我正在尝试使用Octave-Forge图像包中的imfill
函数。我尝试制作.m脚本,并尝试从Octave GUI执行imfill
函数。两次我都得到同样的错误:
错误:imfill:尚不支持交互式使用
什么是“互动使用”?我认为交互式使用是在您使用交互式解释器时。我认为编写一个脚本,使其可执行,并从CLI运行它更像是“批处理模式”。
如果不支持“交互式使用”,那么支持哪种用法?我如何使用imfill
?
下面我列出了违规代码。
fn = args{1};
I = imread(fn);
Igray = rgb2gray(I);
Ibw = im2bw(Igray);
se_2x2square = strel("square", 2);
Iedge = edge(uint8(Ibw));
Iedge2 = imdilate(Iedge, se_2x2square);
Ifill = imfill(Iedge2);
这是来自imfill的实际代码抛出错误。
if (islogical (img))
## imfill (BW)
error ("imfill: interactive usage is not yet supported");
else
## syntax: imfill (img)
fill_holes = true;
endif
答案 0 :(得分:0)
我对术语"互动"感到困惑。错误是因为我只给了imfill
一个参数。目前仅使用一个参数调用imfill(我猜是交互模式)仅针对灰度图像实现。使用第二个参数可以解决问题。
Ifill = imfill(Iedge2, "holes");
,可以调整参数以获得更好的结果。