while True:
ret, frame = camera.read()
# frame = frame.astype('uint8')
if ret == False:
break
if background is None: # 初始化背景,后面的图像均以此为背景,即第一张图
background = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) ###灰度化图像
background = cv2.GaussianBlur(background, (3, 3), 0) ###进行模糊处理 调整高斯核改变轮廓精度
continue # 跳出这个循环
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
gray_frame = cv2.GaussianBlur(gray_frame, (3, 3), 0)
下面这句报错
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
报错:
cv2.error: OpenCV(3.4.2) c:\projects\opencv-python\opencv\modules\imgproc\src\color.hpp:253: error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'cv::CvtHelper<struct cv::Set<3,4,-1>,struct cv::Set<1,-1,-1>,struct cv::Set<0,2,5>,2>::CvtHelper'
原因:在后面的过程进行结束后,frame置空,导致报错
修改:
加入下面这两行,第一段代码已加入
if ret == False:
break
参考博客:
https://blog.csdn.net/weixin_42077204/article/details/82696824