2016-08-05 11 views
-2

Ich wollte cv.adaptiveThreshold (opencv) durch Matlab auf 8-Bit-Single-Channel-Uint8-Bild anwenden, aber ich bekomme immer Fehler. Ich habe versucht, von dieser Website folgenden Code: https://kyamagu.github.io/mexopencv/matlab/adaptiveThreshold.htmlAdaptive Thresholding Matlab-Opencv

th = cv.adaptiveThreshold(img,255,'Method',mean,'Type',binary,3,2); 

und es gibt mir den Fehler nicht genügend Eingabeargument. wenn ich so bin mit:

th = cv.adaptiveThreshold(img); 

es ordnungsgemäß funktioniert, aber das ist nicht das, was ich will. Ich möchte keine Standardmethoden und -kriterien anwenden.

Danke für die Hilfe.

+0

Ich habe es nie versucht, aber ich bin zu 99% sicher, dass die Lösung ist: 'cv.adaptiveThreshold (img,‚MaxValue‘, 255, "Methode", Mittelwert, "Typ", binär, "Blockgröße", 3, "C", 2); '. Ich meine, warum hast du nur * einige * der Optionsnamen angegeben? –

+0

@AnderBiguri, Danke. Mein Fehler. Ich habe vergessen, das zu tun. Aber immer noch gibt es ein Problem mit der Binärdatei. th = cv.adaptiveThreshold (img, 255, 'Methode', Mittelwert (img, 1), 'Typ', binär, 'BlockSize', 5, 'C', 5); Nicht definierte Funktion oder Variable 'binär'. Hast du irgendeine Idee? Ich habe die Funktion in meinem Mathlab-Pfad. – Sam

+0

versuchen Sie "Binary" anstelle von "binary". Nichts für ungut, aber Sie müssen möglicherweise einige grundlegende Programmierung/Arten lernen. –

Antwort

1

Lesen Sie die Dokumentation. Du verfolgst nicht die Funktion Argumentliste

cv.adaptiveThreshold(img,'MaxValue',255,'Method','Mean','Type','Binary','BlockSize',3,'C',2); 

funktionieren sollte

+0

Danke! Arbeitete richtig. – Sam