Użyłem ustalonego progu, ale okazało się, że nie jest to dla mnie dobre. Wtedy ktoś powiedział mi o progu otsu. Jak mogę go użyć w moim kodzie? Czytam o tym i nie rozumiem zbyt dobrze. Czy ktoś mógłby mi wytłumaczyć, jak używać go w OpenCV, w progu otsu?Jak korzystać z progu OTSU w opencv?
Oto mój kod teraz:
#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;
}
Z tym muszę zmienić próg do każdego obrazu, który chcę przekonwertować do pliku binarnego. Znalazłem to:
cvThreshold(scr, dst, 128, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);
Czy to prawda? Nie rozumiem bardzo dobrze iz tego powodu nie wiedziałem, jak mogę dostosować się do mojego kodu.