python3下使用cv2.imwrite存储图片名含有中文字符的图片

python3中直接用cv2.imwrite方法的话,在图片名中出现乱码,查资料,折腾了好久,发现如下解决方法。

代码如下

if i % frame_interval == 0:
    imagename = '{}_{}_{:0>6d}.jpg'.format(video_prefix, filename.split('.')[0], i)
    imagepath = os.sep.join([frame_path, imagename])
    print('exported {}!'.format(imagepath))
    #cv2.imwrite(imagepath, frame)
    cv2.imencode('.jpg', frame)[1].tofile(imagepath)

使用

#cv2.imwrite(imagepath, frame)

的效果

python3下使用cv2.imwrite存储图片名含有中文字符的图片_第1张图片出现乱码

改为

cv2.imencode('.jpg', frame)[1].tofile(imagepath)

后解决问题

python3下使用cv2.imwrite存储图片名含有中文字符的图片_第2张图片

你可能感兴趣的:(openCV)