在 python 中从 opencv 图像转换为 jpeg 图像
conversion from opencv image to jpeg image in python
我正在从视频文件中抓取帧,如下所示:
def capture_frame(file):
capture = cv.CaptureFromFile("video.mp4")
cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_POS_MSEC)
cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_POS_MSEC, 90000)
frame = cv.QueryFrame(capture)
return frame
帧类型为cv2.cv.iplimage
。如何在不保存的情况下将这种类型的图像转换为jpeg图像?
谢谢,
你试过只写块吗?
with open('filename.jpeg', wb+') as destination:
for chunk in image_file.chunks():
destination.write(chunk)
这里也有一个值得一看的原生使用 opencv 的 http://answers.opencv.org/question/115/opencv-python-save-jpg-specifying-quality-gives-systemerror/。虽然,不确定为什么要尝试将 .mp4
保存到 .jpeg
...
下面应该为您提供图像的 jpeg 表示形式的字节。
def capture_frame(file):
capture = cv.CaptureFromFile(file)
cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_POS_MSEC)
cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_POS_MSEC, 90000)
frame = cv.QueryFrame(capture)
return cv.EncodeImage('.jpg', frame).tostring()
capture_frame("video.mp4")
我已经将 EncodeImage
的结果写到一个以二进制 (open('somefile','wb')
) 打开的文件中,该文件生成了一个有效的 JPEG。
我正在从视频文件中抓取帧,如下所示:
def capture_frame(file):
capture = cv.CaptureFromFile("video.mp4")
cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_POS_MSEC)
cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_POS_MSEC, 90000)
frame = cv.QueryFrame(capture)
return frame
帧类型为cv2.cv.iplimage
。如何在不保存的情况下将这种类型的图像转换为jpeg图像?
谢谢,
你试过只写块吗?
with open('filename.jpeg', wb+') as destination:
for chunk in image_file.chunks():
destination.write(chunk)
这里也有一个值得一看的原生使用 opencv 的 http://answers.opencv.org/question/115/opencv-python-save-jpg-specifying-quality-gives-systemerror/。虽然,不确定为什么要尝试将 .mp4
保存到 .jpeg
...
下面应该为您提供图像的 jpeg 表示形式的字节。
def capture_frame(file):
capture = cv.CaptureFromFile(file)
cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_POS_MSEC)
cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_POS_MSEC, 90000)
frame = cv.QueryFrame(capture)
return cv.EncodeImage('.jpg', frame).tostring()
capture_frame("video.mp4")
我已经将 EncodeImage
的结果写到一个以二进制 (open('somefile','wb')
) 打开的文件中,该文件生成了一个有效的 JPEG。