gpt4 book ai didi

python - cvtColor()函数将图像转换为grayScale时出现问题

转载 作者:行者123 更新时间:2023-12-02 16:57:58 26 4
gpt4 key购买 nike

无法将视频媒体文件夹导入程序以转换为灰度。
这是我的代码

import cv2
import math
import numpy as np
cap=cv2.VideoCapture("‪C:/Users/azert/Desktop/LONDON WALK _ Oxford Street to Carnaby Street _ England(240P)_1.mp4")
body=cv2.CascadeClassifier("C:/Users/azert/anaconda3/Lib/site-packages/cv2/data/haarcascade_fullbody.xml")
while 1:
r,img=cap.read()
gray= cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
bd=body.detectMultiScale(gray,1.1,2)
for(x,y,w,h) in bd :
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),1)
for(x1,y1,w1,h1) in bd:
distance=[]
d1=w-w1
d2=h-h1
d=math.sqrt((d1**2)+(d2**2))
distance.append(d)
s=len(distance)
N=0.5
for i in range (s):
if( distance[i]<N) :
cv2.line(img,(w,h),(w1,h1),(255,0,0),3,8)
cv2.imshow("image",img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
这是我得到的错误
error                                     Traceback (most recent call last)
<ipython-input-1-609b19b26536> in <module>
7
8 r,img=cap.read()
----> 9 gray= cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
10 bd=body.detectMultiScale(gray,1.1,2)
11 for(x,y,w,h) in bd :

error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-52oirelq\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

最佳答案

缺少cvtColor函数的第一个参数时,会发生此错误。视频流结束时,您的程序不会退出(因为ov while 1)。
检查img是否存在

r,img=cap.read()
if img:
#do thing
else:
#exit
最好与
while cap.isOpened():
#rest of code

关于python - cvtColor()函数将图像转换为grayScale时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64483227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com