cv2.imread 和 cv2.imdecode 用法及区别

 更新时间:2023年02月28日 09:49:59   作者:zy_destiny  
对于路径中含有中文的图像,直接用cv2.imread读取会报错,上次看到有大佬使用cv2.imdecode就可以正常读取,有点好奇,所以今天来记录下二者用法和区别,感兴趣的朋友跟随小编一起看看吧

对于路径中含有中文的图像,直接用cv2.imread读取会报错,上次看到有大佬使用cv2.imdecode就可以正常读取,有点好奇,所以今天来记录下二者用法和区别。

 1.读取图像的两种方式对比

cv2.imread正常读取影像

import cv2
path = '/data/北京/beijing.png'
img = cv2.imread(path)

运行上述代码,会报错!

cv2.imdecode从内存中读取影像

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  将文本或二进制文件中数据构造成数组

 2.保存图像的两种方式对比

cv2.imwrite 正常读取影像

import cv2
out_path = '/data/北京/beijing.png'
cv2.imwrite(out_path,img)

运行上述代码,会报错!

cv2.imdecode从内存中读取影像

import cv2
out_path = '/data/北京/beijing.png'
arr = cv2.imencode('png',img)
out[1].tofile(out_path)

运行上述代码,成功!

 函数说明:

cv2.encode  将图像编码到内存缓冲区中

np.tofile  将数组中的数据以二进制格式写进文件

到此这篇关于cv2.imread 和 cv2.imdecode 用法的文章就介绍到这了,更多相关cv2.imread 和 cv2.imdecode内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python构建指数平滑预测模型示例

    python构建指数平滑预测模型示例

    今天小编就为大家分享一篇python构建指数平滑预测模型示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python中最强大的错误重试库(tenacity库)

    Python中最强大的错误重试库(tenacity库)

    本文要给大家介绍的tenacity库,可能是目前Python生态中最好用的错误重试库,主要介绍tenacity的主要使用方法和特性,具有一定的参考价值,感兴趣的可以了解一下
    2022-04-04
  • Python调整matplotlib图片大小的3种方法汇总

    Python调整matplotlib图片大小的3种方法汇总

    我们在使用matplotlib作图时,会遇到图片不清晰或者图片大小不是我们想要的,这个时候就需要调整下,这篇文章主要给大家介绍了关于Python调整matplotlib图片大小的3种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • python脚本实现xls(xlsx)转成csv

    python脚本实现xls(xlsx)转成csv

    这篇文章主要介绍了python脚本实现xls(xlsx)转成csv的相关资料,需要的朋友可以参考下
    2016-04-04
  • Python自动化构建工具scons使用入门笔记

    Python自动化构建工具scons使用入门笔记

    这篇文章主要介绍了Python自动化构建工具scons使用入门笔记,本文讲解了安装scons、scons常用命令、scons使用示例等内容,需要的朋友可以参考下
    2015-03-03
  • Python餐饮AI机器人学习数据网络抓取

    Python餐饮AI机器人学习数据网络抓取

    在餐饮行业,AI机器人可以通过学习大量的相关数据来提供更好的服务和体验,在文本中,我们将介绍如何使用python进行餐饮A I机器人学习数据的网络抓取,并提供代码的示例和最佳实践
    2023-12-12
  • 关于数据分析Pandas的Series用法总结

    关于数据分析Pandas的Series用法总结

    这篇文章主要介绍了关于数据分析Pandas的Series用法总结,Series序列,是一种一维的结构,类似于一维列表和ndarray中的一维数组,但是功能比他们要更为强大,Series由两部分组成:索引index和数值values,本篇对其用法做出总结
    2023-07-07
  • Pandas通过index选择并获取行和列

    Pandas通过index选择并获取行和列

    本文主要介绍了Pandas通过index选择并获取行和列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python @propert装饰器使用方法原理解析

    python @propert装饰器使用方法原理解析

    这篇文章主要介绍了python @propert装饰器使用方法原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python和JavaScript间代码转换的4个工具

    Python和JavaScript间代码转换的4个工具

    JavaScript 已经成为众多其它编程语言争相选择的转换目标(相关实例包括 TypeScript、Emscripten、Cor 以及 Cheerp)。而 Python 则拥有庞大的追随者群体,另外现有的强大库资源则使其成为面向 JavaScript 的理想待转换或者说转译选项
    2016-02-02

最新评论