Ich benutzte eine feste Schwelle, aber stellt sich heraus, dass es nicht so gut für mich ist. Dann erzählte mir jemand von der Otsu-Schwelle. Wie kann ich es in meinem Code verwenden? Ich lese darüber und verstehe nicht sehr gut. Könnte mir jemand erklären, wie man in OpenCV die Otsu-Schwelle benutzt?Wie wird der OTSU-Schwellenwert in opencv verwendet?
Hier ist mein Code jetzt:
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main (int argc, char **argv)
{
Mat im_gray = imread("img3.jpg",CV_LOAD_IMAGE_GRAYSCALE);
Mat im_rgb = imread("img3.jpg");
cvtColor(im_rgb,im_gray,CV_RGB2GRAY);
Mat img_bw = im_gray > 115;
imwrite("img_bw3.jpg", img_bw);
return 0;
}
Damit habe ich die Schwelle zu jedem Bild, das ich in das Binärformat konvertieren ändern möchten. Ich fand das:
cvThreshold(scr, dst, 128, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);
Ist das richtig? Ich verstehe das nicht sehr gut und wusste deshalb nicht, wie ich mich an meinen Code anpassen könnte.