Quiero segmentar imágenes (de revistas) en partes de texto e imágenes. Tengo varios histogramas para varios ROI en mi imagen. Yo uso opencv con python (cv2).Cómo reconocer histogramas con una forma específica en opencv/python
quiero reconocer histogramas que se ven así
http://matplotlib.sourceforge.net/users/image_tutorial-6.png
ya que es una forma típica de una región de texto. ¿Cómo puedo hacer eso?
Editar: Gracias por su ayuda hasta ahora.
que compararon los histogramas que recibí de mis regiones de interés a un histograma muestra que proporcioné:
hist = cv2.calcHist(roi,[0,1], None, [180,256],ranges)
compareValue = cv2.compareHist(hist, samplehist, cv.CV_COMP_CORREL)
print "ROI: {0}, compareValue: {1}".format(i,compareValue)
Suponiendo ROI 0, 1, 4 y 5 son las regiones de texto y el ROI es una región de la imagen, me sale una salida como esto:
- ROI: 0, compareValue: 1,0
- ROI: 1, compareValue: -0.000195522081574 < --- mal clasificado
- ROI: 2, compareValue: 0,0612670248952
- ROI: 3, compareValue: -0,000517370176887
- ROI: 4, compareValue: 1.0
- ROI: 5, compareValue: 1,0
¿Qué puedo hacer para evitar la clasificación errónea? Para algunas imágenes, la tasa de clasificación incorrecta es de aproximadamente 30%, que es demasiado alta.
(I trató también con CV_COMP_CHISQR, CV_COMP_INTERSECT, CV_COMP_BHATTACHARYY y (hist * samplehist) .sum() sino que también proporcionan compareValues equivocadas)
esta es una idea realmente interesante. pero ¿qué quieres decir exactamente con 'myRef'? ¿es otro histograma o el mismo tamaño que 'myHist'? o es una matriz numpy arbitraria? – samkhan13
@ samkhan13 sí, 'myRef' es el histograma que queremos comparar. – Simon