HI
I am about to create an image-detection program in python. I want to assign videos to image targets, 1-1, so when I show one of the images to my camera, the assigned video triggers in a second window. It works fairly well except the fact that it shows an error (if the camera gets completely dark) with the following: “you need configured python 2 sdk to render epydoc docstrings”
I tried to install the software(with windows installer): Epydoc
- couldnt make it, no permission even in administrator mode
I also found terms like “Epytext” and “Doxygen” where the solution could be, I couldnt really find my way around it so I just gave it up and started to look for another way to create this program… but then I bumped into the same error again, within SIFT.
Anyone has a solution for this issue? Am I on a good track to achieve my goal?
It happened in Orb, opencv, pyhton.
matches = bf.knnMatch(des1, des2, k=2) # error showing under knnMatch
fullcode:
import cv2
import epydoc
import numpy as np
cap = cv2.VideoCapture(1)
imgTarget = cv2.imread('1.png')
myVid = cv2.VideoCapture('video.mp4')
detection = False
frameCounter = 0
success, imgVideo = myVid.read()
orb = cv2.ORB_create(nfeatures=1000)
kp1, des1 = orb.detectAndCompute(imgTarget, None)
while True:
sucess, imgWebcam = cap.read()
kp2, des2 = orb.detectAndCompute(imgWebcam, None)
if detection == False:
myVid.set(cv2.CAP_PROP_POS_FRAMES, 0)
frameCounter = 0
else:
if frameCounter == myVid.get(cv2.CAP_PROP_FRAME_COUNT):
myVid.set(cv2.CAP_PROP_POS_FRAMES, 0)
frameCounter = 0
success, imgVideo = myVid.read()
bf = cv2.BFMatcher()
matches = bf.knnMatch(des1, des2, k=2)
good = []
for m, n in matches:
if m.distance < 0.75 * n.distance:
good.append(m)
print(len(good))
imgFeatures = cv2.drawMatches(imgTarget, kp1, imgWebcam, kp2, good, None, flags=2)
if len(good) > 20:
detection = True
cv2.imshow('imgFeatures', imgFeatures)
cv2.imshow('myVid', imgVideo)
cv2.waitKey(1)
frameCounter += 1