GNU Octave 错误 "imfill: interactive mode not supported"
GNU Octave error "imfill: interactive mode not supported"
我正在尝试使用 Octave-Forge 图像包中的 imfill
功能。我尝试制作一个 .m 脚本,还尝试从 Octave GUI 执行 imfill
函数。两次我都得到同样的错误:
error: imfill: interactive usage is not yet supported
什么是"interactive usage"?我认为交互式用法是当您使用交互式解释器时。我认为编写一个脚本,使其可执行,并且 运行 从 CLI 更像是 "batch mode".
如果不支持"interactive usage"那么支持什么样的用法?如何使用 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
我被"interactive"这个词弄糊涂了。错误是因为我只给了 imfill
一个参数。目前只用一个参数调用 imfill(我猜是交互模式)只针对灰度图像实现。使用第二个参数可以解决问题。
Ifill = imfill(Iedge2, "holes");
,可以调整参数以获得更好的结果。
我正在尝试使用 Octave-Forge 图像包中的 imfill
功能。我尝试制作一个 .m 脚本,还尝试从 Octave GUI 执行 imfill
函数。两次我都得到同样的错误:
error: imfill: interactive usage is not yet supported
什么是"interactive usage"?我认为交互式用法是当您使用交互式解释器时。我认为编写一个脚本,使其可执行,并且 运行 从 CLI 更像是 "batch mode".
如果不支持"interactive usage"那么支持什么样的用法?如何使用 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
我被"interactive"这个词弄糊涂了。错误是因为我只给了 imfill
一个参数。目前只用一个参数调用 imfill(我猜是交互模式)只针对灰度图像实现。使用第二个参数可以解决问题。
Ifill = imfill(Iedge2, "holes");
,可以调整参数以获得更好的结果。