Saltar al contenido

¿Cómo usar el umbral de OTSU en opencv?

Solución:

La siguiente línea realiza la operación de umbralización otsu:

cv::threshold(im_gray, img_bw, 0, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);
  • im_gray es una imagen de origen de 8 bits,
  • img_bw es un resultado,
  • 0 significa nivel de umbral que en realidad se omite porque usamos la bandera CV_THRESH_OTSU,
  • 255 es un valor que se asignará a los píxeles respectivamente en el resultado (es decir, a todos los píxeles cuyo valor en la fuente sea mayor que el nivel de umbral calculado)
  • CV_THRESH_BINARY | CV_THRESH_OTSU es una bandera necesaria para realizar el umbral de Otsu. Porque, de hecho, nos gustaría realizar un umbral binario, por lo que usamos CV_THRESH_BINARY (puede usar cualquiera de las 5 banderas que ofrece opencv) combinado con CV_THRESH_OTSU

Vínculo a la documentación: http://docs.opencv.org/modules/imgproc/doc/mis Miscellaneous_transformations.html#threshold

En Python es simple

import cv2

img = cv2.imread('img.jpg',0)  #pass 0 to convert into gray level 
ret,thr = cv2.threshold(img, 0, 255, cv2.THRESH_OTSU)
cv2.imshow('win1', thr)
cv2.waitKey(0)  
cv2.destroyAllWindows()
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *