Я искал всюду, и я нахожу это действительно удивительным, что нет ссылки на функцию chamerMatching, особенно в Python. У кого-то еще была такая же проблема: no answer:Python OpenCV chamerMatching function reference
Я действительно не хочу знать об алгоритме - я знаю, как работает алгоритм - я хочу знать, как вызвать его на Python и получить издержки, результаты и наиболее подходящий. Я пробовал следующий код.
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
ret, frame = cap.read()
frame = cv2.GaussianBlur(frame, (13, 13), 0)
frame = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
frame = cv2.adaptiveThreshold(frame,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,11,2)
templ = cv2.imread("template.png",cv2.CV_LOAD_IMAGE_GRAYSCALE)
cannyframe = cv2.Canny(frame,5,50,apertureSize=3)
cannytempl = cv2.Canny(templ,5,50,apertureSize=3)
cv2.imshow("cannyframe",cannyframe)
cv2.imshow("cannytempl", cannytempl)
cv2.waitKey(0)
#The line below, and NOT any other line, crashes the program
cv2.chamerMatching(cannytempl,cannyframe)
Все это прекрасно работает, за исключением последнего вызова функции chamerMatching, которая вызывает интерпретатор питона врезаться и прекратить работу по какой-то причине с сообщением, которое выглядит следующим образом:
С абсолютно нулевой документации по функции, я не могу понять, почему.
EDIT: В приведенный выше код включены все необходимые строки для запуска, а ниже - template.png.
Хорошо, я отредактирован в образе для вас, так что не волнуйтесь –
Спасибо. Так-то лучше. И теперь ... мы подождем .... :) –
Возможно, вы захотите добавить 'template.png.'. Также дайте код, который может быть запущен, а именно, ваш код выше дает« Traceback (последний звонок последнего): Файл "stackoverflow.py", строка 16, в RET, рамка = cap.read() NameError: название 'шапку' не определен 'См [спросить] –
boardrider