2017-10-01 4 views
0

Octave-Forge 이미지 패키지의 imfill 기능을 사용하려고합니다. .m 스크립트를 만들려고 시도하고 옥타브 GUI에서 imfill 함수를 실행 해 보았습니다. 두 번 모두 같은 오류가 발생합니다.GNU Octave 오류 "imfill : 대화식 모드가 지원되지 않음"

error: imfill: interactive usage is not yet supported

"대화식 사용"이란 무엇입니까? 인터랙티브 인터프리터를 사용할 때 대화 형 사용법이 있다고 생각했습니다. 필자는 스크립트를 작성하여 실행 가능하게 만들고 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

나는 "대화 형"이라는 용어로 혼란스러워했다. 내가 단지 imfill 한 인수를 준 때문에 오류입니다. 현재 단 하나의 인수 (인터랙티브 모드라고 생각하는)를 가진 imfill 호출은 그레이 스케일 이미지에만 구현됩니다. 두 번째 매개 변수를 사용하면 문제가 해결됩니다.

Ifill = imfill(Iedge2, "holes"); 

보다 나은 결과를 얻으려면 인수를 조정할 수 있습니다.

+0

"잘못 말한 오류"는 아닙니다. imfill (바이너리 타입 ='imfill (bw)'의 한 인자)이 아직 구현되지 않았다는 것을 명확히 말해줍니다. 이 사용법은 이미지 [documentation] (https://octave.sourceforge.io/image/function/imfill.html)에 언급되어 있습니다. 물론 누락 된 기능을 제공하는 패치를 제공하십시오. – Andy

+0

안녕하세요 @ 앤디. 어쩌면 네가 옳을 수도있어. 나는 단지 "대화 형"이 의미하는 것을 이해하지 못했습니다. 나는 imfill이 흑백이 아닌 그레이 스케일 이미지 용으로 만 구현되었다는 것을 혼란스러워했습니다. 나는 RTFM을 조금 더 잘해야한다. – noel