【OpenCV】使用cv2读取或写入带中文路径的图片

由于编码问题,opencv的cv2.imread无法直接读取带中文路径中的图片,同样cv2.imwrite也无法直接把图片写入到中文路径下的文件夹中,这时候就得换一种方法了,改进代码如下:

import cv2

#定义一个叫cv_imread的函数来读取中文路径的图片,filePath是图片的完整路径
def cv_imread(filePath): #读取中文路径的图片
    cv_img=cv2.imdecode(np.fromfile(filePath,dtype=np.uint8),cv2.IMREAD_UNCHANGED)
    #imdecode读取的图像默认会按BGR通道来排列图像矩阵,如果后续需要RGB可以通过如下转换
    #cv_img=cv2.cvtColor(cv_img,cv2.COLOR_BGR2RGB)
    return cv_img

#定义一个叫cv_imwrite的函数来往中文路径写入img图片,filePathName是待写入的文件夹和图片名字组成的完整
#路径,如filePathName = C:\\user\\Desktop\\test.jpg
def cv_imwrite(filePathName, img):
    try:
        _, cv_img = cv2.imencode(".jpg", img)[1].tofile(filePathName)
        return True
    except:
        return False

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值