Como usar o OTSU Threshold in opencv?
Eu estava usando um limite fixo, mas acontece que não é tão bom para mim. Então, alguém me contou sobre o limiar do otsu. Como posso usá-lo no meu código? Eu li sobre isso e não entendo muito bem. Alguém poderia me explicar como usá-lo no OpenCV o limiar otsu?
Aqui está o meu código agora:
#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;
}
Com isso eu tenho que mudar o limite para qualquer imagem que eu queira converter em binário. Eu achei isto:
cvThreshold(scr, dst, 128, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);
Isso esta certo? Eu não entendo muito bem e, por causa disso, não sabia como me adaptar ao meu código.