3
약간의 질문이 있습니다. 현재 웹캠을 사용하여 나무 딸기 파이로 서클을 감지하고 있습니다. HoughCircles를 사용하여 파이썬에서 원을 감지하는 방법은 많이 있습니다. 그것은 조금 너무 느리다 : 그것은 나에게 2 초의 거대한 지체를 준다. 웹캠 앞에 서클을 유지하고 있어도이 초에서 "아무 서클도 검색되지 않았습니다"라는 인쇄를 계속합니다. 몇 초 후 센터의 위치가 인쇄됩니다.라즈베리 파이를 사용하여 서클을 찾는 동안 FPS를 향상시키고 지연을 줄이려면 어떻게해야합니까?
아래 코드를 붙여 넣으면 도움이됩니다! 당신이 원하는 일에 대해 아무것도 모른 채
import cv2
import numpy as np
import time
camera_port = 0
ramp_frames = 20 #throw away to make it adjust to light levels
camera = cv2.VideoCapture(camera_port) #define camera class
retval = camera.set(3,320) #width of frame
retval = camera.set(4,240) #height of frame
def get_image(): #function to get 1 image
retval, im = camera.read()
return im
for i in xrange(ramp_frames): #adjust to light levels, throw away 20 frames
temp = get_image()
while True:
time.sleep(1)
camera_capture = get_image() # Take the actual image we want to keep
#processing
img = camera_capture
cimg = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
circles = cv2.HoughCircles(cimg,cv2.cv.CV_HOUGH_GRADIENT,1,1,param1=200,param2=80,minRadius=0,maxRadius=0)
if circles is not None:
x=circles[0][0][0]
y=circles[0][0][1]
print "x= ",x,"y= ",y
else:
print "no circles detected"
원이 감지되면 원이 배열이고 원이 감지되지 않으면 "NoneType"개체가 될 가능성이 있습니다. – user3091463
나는 그것이 사실 일 것 같아 ... 아마 내가 사용하고있는 패키지에 대해 아무 것도 모른 채 대답을해서는 안된다. 그러나 나는 여전히 당신이 반복하고있는 것처럼 진술이 매우 불쾌하지는 않다라고 생각한다. "없다."더 깔끔한 방법이 있어야한다. 하지만 지금은 내 대답을 게시하지 않은 것으로 간주하십시오. ... ( – Kraay89
카메라의 프레임 속도는 무엇이며 20fps보다 높을 수 있습니까? 아는 한 웹캠은 올바른 조명을 찾으십시오. 조정 시간이 길어질 수 있습니다 (= 더 많은 프레임). 폐기 된 프레임 수를 늘리십시오. – Kraay89