所以我有一个Python应用程序可以访问笔记本电脑上的内置网络摄像头并拍照。但是我很难指定图片的存储位置(在本例中是在桌面上)。我到目前为止的代码是:
import cv2
import time
import getpass
import os
getUser = getpass.getuser()
save = 'C:/Users/' + getUser + "/Desktop"
camera_port = 0
camera = cv2.VideoCapture(camera_port)
time.sleep(0.1)
return_value, image = camera.read()
os.path.join(cv2.imwrite(save, "user.png", image))
del camera
但是当我运行它时,我收到以下错误:
Traceback (most recent call last):
File "C:/Users/RedCode/PycharmProjects/MyApps/WebcamPic.py", line 13, in <module>
os.path.join(cv2.imwrite(save, "user.png", image))
TypeError: img is not a numpy array, neither a scalar
如何指定拍摄时图像的存储位置?
答案 0 :(得分:1)
此行是您遇到问题的地方。
os.path.join(cv2.imwrite(save, "user.png", image))
你想这样做
cv2.imwrite(os.path.join(save, "user.png"), image)
imwrite
需要两个参数来保存文件名和图像。
对os.path.join
的调用正在构建已保存的文件路径。