मैं यह जानना चाहता हूं कि किसी स्रोत-छवि की स्थिति एक निश्चित उप-छवि दिखाई देती है (उदा। स्रोत छवि: http://i.pictr.com/6xg895m69q.png, उप-छवि: http://i.pictr.com/jdaz9zwzej.png)। जहां तक मुझे पता है कि उन्हें ओपनसीवी में "पठनीय" बनाने के लिए सरणी को बदलने के लिए जरूरी है, मैंने यही कोशिश की, लेकिन किसी कारण से, यह काम नहीं करता है। (मैं जानता हूँ किछवि में छवि cvMatchTemplate के साथ - लेकिन कैसे?
from PIL import Image
import numpy
from pylab import *
import cv2
import cv
image = cv2.imread('source_img.jpg')
template = cv2.imread('template_img.jpg')
im = cv.fromarray(image)
templ = cv.fromarray(template)
result = numpy.zeros(shape=(1,10)) ##create a matrix with 0s
a = cv.fromarray(result)
cv.MatchTemplate(im, templ, a, cv.CV_TM_CCORR)
print result
print image
मेरा लक्ष्य परिणाम सरणी (सरणी के बाकी हिस्सों में उप छवियों के निर्देशांक लिखने के लिए मान 0 रखना चाहिए है कि मेरे कोड अभ्यस्त इस बनाने: यहाँ मेरी कोड अब तक है ।। अब तक) यह त्रुटि संदेश, मैं जब कोड को क्रियान्वित करने मिलती है:
OpenCV Error: Assertion failed (result.size() == cv::Size(std::abs(img.cols - templ.cols) + 1, std::abs(img.rows - templ.rows) + 1) && result.type() == CV_32F) in cvMatchTemplate, file /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_opencv/opencv/work/OpenCV-2.4.3/modules/imgproc/src/templmatch.cpp, line 376 Traceback (most recent call last): File "/Users/strongbow/imagerecognition.py", line 27, in cv.MatchTemplate(im, templ, a, cv.CV_TM_CCORR) cv2.error: result.size() == cv::Size(std::abs(img.cols - templ.cols) + 1, std::abs(img.rows - templ.rows) + 1) && result.type() == CV_32F
मैं OpenCV के लिए नया हूँ और वास्तव में क्या इस त्रुटि संदेश के साथ कोई भी एक विचार/सूचक करने के लिए नहीं पता है कि करने के लिए?
आप बहुत बहुत धन्यवाद !! आपका समाधान बहुत अच्छा काम करता है! – julianschnell