Opencv 如何对衍射QF值进行cv2.imencode和imdecode(jpeg)?
我需要使用open cv函数:Opencv 如何对衍射QF值进行cv2.imencode和imdecode(jpeg)?,opencv,jpeg,encode,cv2,image-compression,Opencv,Jpeg,Encode,Cv2,Image Compression,我需要使用open cv函数:cv2.imencode,cv2.imdecode对不同的QF值进行压缩(jpeg)和解压缩(jpeg)。 图片是来自的“bridge.ppm” 我试过: bridge = cv2.imread('./bridge.ppm') bridge_en = cv2.imencode('.jpeg', bridge) bridge_de = cv2.imdecode('.jpeg', bridge_en) cv2.imshow('image',bridge_de) 但是我
cv2.imencode,cv2.imdecode
对不同的QF值进行压缩(jpeg)和解压缩(jpeg)。
图片是来自的“bridge.ppm
”
我试过:
bridge = cv2.imread('./bridge.ppm')
bridge_en = cv2.imencode('.jpeg', bridge)
bridge_de = cv2.imdecode('.jpeg', bridge_en)
cv2.imshow('image',bridge_de)
但是我在第二行中得到一个错误,它说:“参数'buf'的预期Ptr'。
另外,我如何更改和测试不同的QF值?请查看和的文档
imencode
返回两个值,编码的缓冲区是第二个值。和imdecode
接受编码缓冲区和标志。因此:
bridge = cv2.imread('./bridge.ppm')
bridge_en = cv2.imencode('.jpeg', bridge)[1] # you need the second value
bridge_de = cv2.imdecode(bridge_en, cv2.IMREAD_UNCHANGED) # or any other flag, same as 'imread'
cv2.imshow('image',bridge_de)
谢谢你知道如何在不同的QF上测试它吗?打开文档?它告诉您imencode的可用标志/设置。