Как распознавать гистограммы определенной формы в opencv/python

Я хочу сегментировать изображения (из журналов )на части текста и изображения. У меня есть несколько гистограмм для нескольких ROI на моем изображении. Я использую opencv с python (cv2 ).

Я хочу распознавать гистограммы, которые выглядят так

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

поскольку это типичная форма для текстовой области. Как я могу это сделать?

Изменить :Спасибо за вашу помощь.

Я сравнил гистограммы, полученные из моих ROI, с образцом гистограммы, который я предоставил :

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)

. Предполагая, что ROI 0, 1, 4 и 5 являются текстовыми областями, а ROI является областью изображения, я получаю вывод, подобный этому:

  • ROI :0, compareValue :1,0
  • ROI :1, сравните значение:-0,000195522081574
  • ROI :2, compareValue :0,0612670248952
  • ROI :3, сравните значение:-0,000517370176887
  • ROI :4, compareValue :1,0
  • ROI :5, compareValue :1,0

Что я могу сделать, чтобы избежать неправильной классификации? Для некоторых изображений уровень ошибочной классификации составляет около 30%, что слишком много.

(Я пробовал также с CV _COMP _CHISQR, CV _COMP _INTERSECT, CV _COMP _BHATTACHARYY и (hist *samplehist ).sum ()но они также предоставляют неправильные сравнительные значения)

6
задан soet 25 June 2012 в 13:05
поделиться