【发布时间】:2018-07-23 13:45:45
【问题描述】:
我正在尝试使用树莓派 3 和 picam 在 python 上实现线路检测
import picamera
import picamera.array
import time
import cv2
import numpy as np
#Initialize camera
camera = picamera.PiCamera()
camera.resolution = (640,480)
rawCapture = picamera.array.PiRGBArray(camera)
#Let camera warm up
time.sleep(0.1)
#Capture image
camera.capture(rawCapture, format="bgr")
img = rawCapture.array
#Convert to Grayscale
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#Blur image to reduce noise
blurred = cv2.GaussianBlur(gray, (9, 9), 0)
#Perform canny edge-detection
edged = cv2.Canny(blurred, 50, 150)
#Perform hough lines probalistic transform
lines = cv2.HoughLinesP(edged,1,np.pi/180,10,80,1)
#Draw lines on input image
if(lines != None):
for x1,y1,x2,y2 in lines[0]:
cv2.line(resized,(x1,y1),(x2,y2),(0,255,0),2)
cv2.imshow("line detect test", img)
cv2.waitKey(0)
显示如下错误:
Traceback(最近一次通话最后一次):文件“/home/pi/picam lane detection.py”,第 33 行,在 cv2.line(resize,(x1,y1),(x2,y2),(0,255,0),2) NameError: name 'resize' is not defined
请帮我解决问题。
【问题讨论】:
-
cv2.line(resized,(x1,y1),(x2,y2),(0,255,0),2)中调整了什么大小? -
resized 从未在您显示的代码中说明...大声笑
-
将 'resize' 替换为 'img' 为 cv2.line(img,(x1,y1),(x2,y2),(0,255,0),2)
-
感谢@flamelite 成功了
标签: python-3.x python-2.7 opencv image-processing raspberry-pi3