【发布时间】:2020-07-06 09:11:58
【问题描述】:
我有这个脚本可以从网络摄像头捕获图像,但它没有保存任何图像,我不知道为什么。我收到此错误 "回溯(最近一次调用最后一次): 文件“C:/Users/Iram/.PyCharmCE2019.3/config/scratches/scratch_5.py”,第 26 行,在 灰色 = cv2.cvtColor(img_, cv2.COLOR_BGR2GRAY) cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor' [WARN:0] 全局 C:\projects\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (674) SourceReaderCB::~SourceReaderCB 终止异步回调"
我的代码是
import cv2
import datetime
i = 1
key = cv2.waitKey(1)
webcam = cv2.VideoCapture(0)
while True:
try:
check, frame = webcam.read()
print(check) # prints true as long as the webcam is running
print(frame) # prints matrix values of each framecd
cv2.imshow("Capturing", frame)
key = cv2.waitKey(1)
if key == ord('s'):
cv2.imwrite(filename='saved_img.jpg,%Y-%b-%d %H:%M:%S', img=frame)
#print('Timestamp: {:%Y-%b-%d %H:%M:%S}'.format(datetime.datetime.now()))
i += 1
print('%i')
# webcam.release()
img_new = cv2.imread('saved_img.jpg,%Y-%b-%d %H:%M:%S', cv2.IMREAD_GRAYSCALE)
# cv2.imshow("Captured Image", img_new)
# cv2.waitKey(1925)
print("Processing image...")
img_ = cv2.imread('saved_img.jpg,%Y-%b-%d %H:%M:%S', cv2.IMREAD_ANYCOLOR)
print("Converting RGB image to grayscale...")
gray = cv2.cvtColor(img_, cv2.COLOR_BGR2GRAY)
print("Converted RGB image to grayscale...")
print("Resizing image to 28x28 scale...")
img_ = cv2.resize(gray, (28, 28))
print("Resized...")
img_resized = cv2.imwrite(filename='saved_img-final.jpg', img=img_)
print("Image saved!")
elif key == ord('q'):
print("Turning off camera.")
webcam.release()
print("Camera off.")
print("Program ended.")
cv2.destroyAllWindows()
break
except(KeyboardInterrupt):
print("Turning off camera.")
webcam.release()
print("Camera off.")
print("Program ended.")
cv2.destroyAllWindows()
camera.release()
break
camera.release()
cv2.destroyAllWindows()
有人可以帮我吗?
【问题讨论】:
-
为什么
except中的break后面有代码? -
——AMC。我不知道,我从哪里得到它
标签: python opencv image-processing computer-vision