指定保存网络摄像头拍摄的图像的位置 Python

Specify where to save image taken with webcame Python

所以我有一个 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

如何指定拍摄图像的存储位置?

这里是你遇到问题的地方。

os.path.join(cv2.imwrite(save, "user.png", image))

您想这样做

cv2.imwrite(os.path.join(save, "user.png"), image)

imwrite 需要两个参数,文件名和要保存的图像。

os.path.join 的调用正在构建您保存的文件路径。