cv2.imread 和 cv2.imdecode 用法及区别
作者:zy_destiny 发布时间:2023-12-03 06:15:49
标签: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 将数组中的数据以二进制格式写进文件
来源:https://blog.csdn.net/qq_38308388/article/details/129199454


猜你喜欢
- 理解新概念Python V2.2 中引入了迭代器的思想。唔,这并不十分正确;这种思想的“苗头”早已出现在较老的函数 xrange() 以及文
- 在日常使用Python做爬虫,一般会用到以下手段:请求URL,返回HTML文本,然后通过xpath、css或者re,提取数据有些网页的数据通
- 1 调试过程用Python3.6+Sciter+PyCharm写了一个py测试脚本helloworld.py,该脚本中只含有一条语句“imp
- 以查询前20到30条为例,主键名为id 方法一: 先正查,再反查 select top 10 * from (select top 30 *
- 由于项目是thinkPHP做后端框架,一直以来都是多页面的后端路由,想使用火热的webpack有点无从下手(原谅我太菜,而且推广vue只有我
- python2.7在内存管理上相比python3还是有些坑的,其释放后的内存仍然保留在python的内存池中,不被系统所用。python循环
- 前言 简述bs4:使用pip install beautifulsoup4将bs4包安装到当前的python解释器环境,使用fro
- 前言:为了帮助广大考生和家长了解高考历年的录取情况,很多网站都汇总了各省市的录取控制分数线,为广大考生填报志愿提供参考。因受多种因素影响,每
- 本文为大家分享了python八皇后问题的解决方法,供大家参考,具体内容如下题目:给定一个 N*N 正方形棋盘,在上面放置 N个棋子,又叫皇后
- <!DOCTYPE html> <html> <head> <meta charset="
- 如果是后台上传文件:setting配置:STATIC_URL = '/static/'STATICFILES_DIRS =
- 1、安装执行命令pip install virtualenv为了使用virtualenv更方便,可以借助 virtualenvwrapper
- 贪吃蛇游戏是经典手机游戏,既简单又耐玩。通过控制蛇头方向吃蛋,使得蛇变长,从而获得积分。在诺基亚时代,风靡整个手机界,今天我们来看看另类的,
- 本文实例讲述了Python实现的计数排序算法。分享给大家供大家参考,具体如下:计数排序是一种非常快捷的稳定性强的排序方法,时间复杂度O(n+
- 前言当你逐渐了解tushare之后,你会发现我们要进行数据分析只靠tushare是不够的,接下来我将介绍如何利用第三方软件将tushare获
- 文章介绍OpenCV 库中包含很多运算函数,这里着重介绍按位运算的基本原理并举例说明。本篇文章中主要涉及到的函数有:按位与:bitwise_
- 新一代GPT4发布了,今年GPT不断给大家带来惊喜。在OpenAI的官网,也公开了GPT的Python调用第三方库:openai。今天我们就
- 相信很多人都跟小编一样不管是什么账号,如果很久不用就会忘记登录密码,像数据库SQL Server2008也一样有用户名和登录密码,下面小编就
- console.log('----1----') console.log('12' + '34
- 1. 什么是 CSV 文件CSV(逗号分隔值)文件是使用逗号分隔信息的文本文件。该文件的每一行都是一条数据记录,也就意味着它可以用于以表格的