मैं दो छवियों की तुलना और समोच्च इन छवियों से निकाले तुलना करने के लिए हू पल का उपयोग करने की कोशिश की: https://docs.google.com/file/d/0ByS6Z5WRz-h2WHEzNnJucDlRR2s/edit और https://docs.google.com/file/d/0ByS6Z5WRz-h2VnZyVWRRWEFva0k/edit दूसरी छवि पहले के बराबर ही यह घुमाया है और मैं परिणाम एक ही Humoments के रूप में की उम्मीद। वे थोड़ा अलग हैं। सही परहू क्षणों तुलना
Humoments चिह्न (पहली छवि): सही (दूसरी छवि) पर
[[ 6.82589151e-01]
[ 2.06816713e-01]
[ 1.09088295e-01]
[ 5.30020870e-03]
[ -5.85888607e-05]
[ -6.85171823e-04]
[ -1.13181280e-04]]
Humoments संकेत:
[[ 6.71793060e-01]
[ 1.97521128e-01]
[ 9.15619847e-02]
[ 9.60179567e-03]
[ -2.44655863e-04]
[ -2.68791106e-03]
[ -1.45592441e-04]]
इस वीडियो में: http://www.youtube.com/watch?v=O-hCEXi3ymU 4 minut पर मैं उन्होंने देखा बिल्कुल वही प्राप्त किया। मैं कहाँ गलत हूँ?
यहाँ मेरी कोड है:
nomeimg = "Sassatelli 1984 ruotato.jpg"
#nomeimg = "Sassatelli 1984 n. 165 mod1.jpg"
img = cv2.imread(nomeimg)
gray = cv2.imread(nomeimg,0)
ret,thresh = cv2.threshold(gray,127,255,cv2.THRESH_BINARY_INV)
element = cv2.getStructuringElement(cv2.MORPH_CROSS,(4,4))
imgbnbin = thresh
imgbnbin = cv2.dilate(imgbnbin, element)
#find contour
contours,hierarchy=cv2.findContours(imgbnbin,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
#Elimination small contours
Areacontours = list()
area = cv2.contourArea(contours[i])
if (area > 90):
Areacontours.append(contours[i])
contours = Areacontours
print('found objects')
print(len(contours))
#contorus[3] for sing in first image
#contours[0] for sign in second image
print("humoments")
mom = cv2.moments(contours[0])
Humoments = cv2.HuMoments(mom)
print(Humoments)
अंतिम प्रश्न: 1) मैं कहने के लिए किस श्रेणी का उपयोग कर सकता हूं कि वे प्रत्येक humoment के लिए समान या समान छवियां हैं? 2) मुझे एक समर्थन वेक्टर मशीन या के-एनएन के लिए अपने "कच्चे" HuMoments या "लॉग" Humoments का उपयोग करना है? – postgres
@ पोस्टस्ट्रेस - 1) छवियों का उपयोग करते समय यह कुछ हद तक व्यक्तिपरक है, यह मुख्य रूप से इस बात पर निर्भर करता है कि छवियों को एक मैच माना जाना चाहिए। प्रयोग करने के लिए सबसे अच्छा और एक उचित दहलीज सेट करें। 2) मुझे एसवीएन या केएनएन के बारे में ज्यादा जानकारी नहीं है, लेकिन आप शायद इसका उपयोग कर सकते हैं, इसे आजमाएं और देखें;) – fraxel