我正在尝试Raspberry Pi上LearnOpenCV的Blob检测示例,但是仍然从imread文件中得到错误。错误为“TypeError:内置操作的参数类型错误”。你知道吗
代码如下:
import picamera.array
import picamera
import numpy as np
import cv2
with picamera.PiCamera() as camera:
with picamera.array.PiRGBArray(camera) as stream:
camera.resolution = (320,240)
while True:
camera.capture(stream, 'bgr', use_video_port=True)
im = cv2.imread(stream.array, cv2.IMREAD_GRAYSCALE)
detector = cv2.SimpleBlobDetector_create()
keypoints = detector.detect(im)
im_with_keypoints = cv2.drawKeypoints(im, keypoints, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv2.imshow("Keypoints", im_with_keypoints)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
stream.seek(0)
stream.truncate()
cv2.destroyAllWindows()
Eyllanesc的回答是正确的:
必须更改im=cv2.imread(stream.array数组,cv2.IMREAD(灰度)到im=cv2.cvt颜色(stream.array数组,cv2.颜色(灰色)
相关问题 更多 >
编程相关推荐