发布于2023-05-20 16:21 阅读(629) 评论(0) 点赞(28) 收藏(1)
对于路径中含有中文的图像,直接用cv2.imread读取会报错,上次看到有大佬使用cv2.imdecode就可以正常读取,有点好奇,所以今天来记录下二者用法和区别。
目录
- import cv2
- path = '/data/北京/beijing.png'
- img = cv2.imread(path)
运行上述代码,会报错!
- import cv2
- path = '/data/北京/beijing.png'
- arr = np.fromfile(path, dtype=np.uint8)
- img = cv2.imdecode(arr, flags=cv2.IMREAD_COLOR)
运行上述代码,成功!
并且imdecode得到的影像波段顺序是RGB,不是BGR,这是与opencv区别的地方。
函数说明:
np.decode 从内存的缓冲区读取图像
np.fromfile 将文本或二进制文件中数据构造成数组
- import cv2
- out_path = '/data/北京/beijing.png'
- cv2.imwrite(out_path,img)
运行上述代码,会报错!
- import cv2
- out_path = '/data/北京/beijing.png'
- arr = cv2.imencode('png',img)
- out[1].tofile(out_path)
运行上述代码,成功!
函数说明:
cv2.encode 将图像编码到内存缓冲区中
np.tofile 将数组中的数据以二进制格式写进文件
原文链接:https://blog.csdn.net/qq_38308388/article/details/129199454
作者:小白鼠
链接:https://www.pythonheidong.com/blog/article/1979401/ae44b74d29be41e4f8c5/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!