如何使用名为";的python opencv函数在USB中保存捕获图像文件;imwrite";在Linux中

如何使用名为";的python opencv函数在USB中保存捕获图像文件;imwrite";在Linux中,python,opencv,usb,Python,Opencv,Usb,我试图在Linux环境下使用Python将摄像头图像的捕获保存在USB中 “Imwrite”在文件目录下工作,但在USB目录下不工作 我尝试了“os”包和路径 还有其他方法吗 path='/media/odroid/MYUSB/savefolder/' capture_img=/demo/capture.jpg image=cv2.imread(capture_img) cv2.imwrite(os.path.join(path, resave.jpg),image) 整个代码运行正常,但jp

我试图在Linux环境下使用Python将摄像头图像的捕获保存在USB中

“Imwrite”在文件目录下工作,但在USB目录下不工作

我尝试了“os”包和路径

还有其他方法吗

path='/media/odroid/MYUSB/savefolder/'
capture_img=/demo/capture.jpg
image=cv2.imread(capture_img)
cv2.imwrite(os.path.join(path, resave.jpg),image)

整个代码运行正常,但jpg文件未保存在MYUSB中

也许您不需要使用
os.join()
尝试以下操作:

import cv2
import numpy as np

cap = cv2.VideoCapture(0)
savePath = 'output.jpg' #Replace this with your own path say /media/odroid/MYUSB/savefolder/output.jpg
ret, frame = cap.read()

cv2.imwrite(savePath,frame)
如果您想保存整个视频,请参考此

代码如下:

import cv2
import numpy as np


cap = cv2.VideoCapture(0)

savePath = 'output.avi' #Replace this with your own path say /media/odroid/MYUSB/savefolder/output.avi
fourcc = cv2.VideoWriter_fourcc(*'MJPG')

out = cv2.VideoWriter(savePath, fourcc, 20.0, (int(cap.get(3)), int(cap.get(4))))

while True:

    newret, newframe = cap.read()

    cv2.imshow('orig',newframe)
    out.write(newframe)

    k = cv2.waitKey(5) & 0xFF

    if k == 27:
        break

ret, frame = cap.read()

cv2.imwrite(savePath,frame)

cap.release()
out.release()
cv2.destroyAllWindows()
此外,您的代码也有一些问题,下面是一个固定版本,它应该可以工作:

path='/media/odroid/MYUSB/savefolder/'
capture_img='/demo/capture.jpg' #it seems path should be demo/capture.jpg
image=cv2.imread(capture_img)
cv2.imwrite(os.path.join(path, 'resave.jpg'),image)

我很确定你的代码不会运行无误,但会在第二行引发语法错误。