Jak rozpoznać histogramy o określonym kształcie w opencv / python

Chcę podzielić zdjęcia (z czasopism) na części tekstowe i obrazkowe. Na moim zdjęciu mam kilka histogramów dla kilku obszarów zainteresowania. Używam opencv z python (cv2).

Chcę rozpoznać histogramy, które wyglądają tak

http://matplotlib.sourceforge.net/users/image_tutorial-6.png

ponieważ jest to typowy kształt dla obszaru tekstu. Jak mogę to zrobić?

Edytuj: Dziękuję za dotychczasową pomoc.

Porównałem histogramy, które dostałem z moich ROI, do przykładowego histogramu, który podałem:

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)

Zakładając, że ROI 0, 1, 4 i 5 są obszarami tekstowymi, a ROI jest regionem obrazu, otrzymuję dane wyjściowe w następujący sposób:

ROI: 0, compareValue: 1.0ROI: 1, compareValue: -0.000195522081574 <--- źle sklasyfikowanyROI: 2, porównajValue: 0.0612670248952ROI: 3, compareValue: -0.000517370176887ROI: 4, compareValue: 1.0ROI: 5, compareValue: 1.0

Co mogę zrobić, aby uniknąć błędnej klasyfikacji? W przypadku niektórych obrazów współczynnik błędnej klasyfikacji wynosi około 30%, co jest zbyt wysokim poziomem.

(Próbowałem także z CV_COMP_CHISQR, CV_COMP_INTERSECT, CV_COMP_BHATTACHARYY i (hist * samplehist) .sum (), ale także podają nieprawidłowe compareValues)

questionAnswers(2)

yourAnswerToTheQuestion