opencv和numpy以及pillow处理图片时数据各个维度的布局是怎样的
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,opencv和numpy以及pillow处理图片时数据各个维度的布局是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。openc
千家信息网最后更新 2025年12月02日opencv和numpy以及pillow处理图片时数据各个维度的布局是怎样的
opencv和numpy以及pillow处理图片时数据各个维度的布局是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
opencv读取图片时,读取后转为numpy数组的格式是(height, width, channels).pillow第三方库读取图片后数据的格式是(width, height).使用numpy库读取格式为(width, height)的pillow的图片后,数据的格式自动转为(height, width, channels)pillow从维度为(height, width, channels)的numpy数据后,自动将维度调整为(width, height).
代码实验展示:
from PIL import Imageimport cv2import numpy as npif __name__ == '__main__':print()print('测试opencv-python读取图片的格式'.center(50,'-'))img_cv2 = cv2.imread('bryant.jpg', 1) # 读取图片文件img_cv2 = np.float32(img_cv2) / 255 # 转为float32类型print('opencv-python的图片读取格式:(height, width, channels)',img_cv2.shape) # opencv-python的图片读取格式:(height, width, channels) (667, 1000, 3)print()print('测试Python第三方库Pillow读取图片的格式'.center(50,'-'))img_PIL = Image.open("bryant.jpg")print(img_PIL.format, img_PIL.size, img_PIL.mode) # JPEG (1000, 667) RGBprint('图片的宽度:', img_PIL.width, '图片的高度:', img_PIL.height) # 图片的宽度: 1000 图片的高度: 667print()print('测试Python第三方库NumPy处理PIL图片的方式'.center(50,'-'))imgNumPy_from_PIL = np.array(img_PIL)print('imgNumPy的形状是:', imgNumPy_from_PIL.shape) # imgNumPy的形状是: (667, 1000, 3)print('NumPy处理PIL图片的方式:(height, width, channels)',imgNumPy_from_PIL.shape) # NumPy处理PIL图片的方式:(height, width, channels) (667, 1000, 3) print()print('测试Python第三方库Pillow读取NumPy数据的格式'.center(50,'-'))mg_PIL_from_Numpy = Image.fromarray(imgNumPy_from_PIL)print(mg_PIL_from_Numpy.format, mg_PIL_from_Numpy.size, mg_PIL_from_Numpy.mode) # None (1000, 667) RGBprint('图片的宽度:', mg_PIL_from_Numpy.width, '图片的高度:', mg_PIL_from_Numpy.height) # 图片的宽度: 1000 图片的高度: 667mg_PIL_from_Numpy.show() img_PIL.show()控制台输出结果:
Windows PowerShell版权所有 (C) Microsoft Corporation。保留所有权利。尝试新的跨平台 PowerShell https://aka.ms/pscore6加载个人及系统配置文件用了 891 毫秒。(base) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq> & 'D:\Anaconda3\envs\ssd4pytorch2_2_0\python.exe' 'c:\Users\chenxuqi\.vscode\extensions\ms-python.python-2021.1.502429796\pythonFiles\lib\python\debugpy\launcher' '61922' '--' 'c:\Users\chenxuqi\Desktop\News4cxq\test4cxq\test.py'--------------测试opencv-python读取图片的格式--------------opencv-python的图片读取格式:(height, width, channels) (667, 1000, 3)------------测试Python第三方库Pillow读取图片的格式-------------JPEG (1000, 667) RGB图片的宽度: 1000 图片的高度: 667-----------测试Python第三方库NumPy处理PIL图片的方式------------imgNumPy的形状是: (667, 1000, 3)NumPy处理PIL图片的方式:(height, width, channels) (667, 1000, 3)----------测试Python第三方库Pillow读取NumPy数据的格式----------None (1000, 667) RGB图片的宽度: 1000 图片的高度: 667(base) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq> conda activate ssd4pytorch2_2_0(ssd4pytorch2_2_0) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq>
使用的原图:bryant.jpg:
运行结果展示:
关于opencv和numpy以及pillow处理图片时数据各个维度的布局是怎样的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
图片
格式
测试
数据
处理
第三方
宽度
高度
方式
维度
形状
问题
布局
文件
更多
结果
帮助
解答
易行
简单易行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件管理系统数据库
数据库约束年龄限制语句
c mvc 数据库
网络安全信息传输加密方式
db2是小型数据库系统吗
属于WEB服务器的安全措
软件开发采购工程师
我的世界怎么把地图改为服务器
软件开发视频大讲堂丛书
windows中转服务器
网络安全面临的5大问题
数据库插入报错
郑州分布式服务器排名
为啥么还原数据库无效
计算机网络技术吃青春饭吗
学术期刊数据库是什么意思
ado数据库访问技术优点
皋兰网络安全周
北京爱徒步软件开发有限公司
网络安全洞察报告
率土之滨台服服务器崩溃
河南省网络安全监控指挥系统
到哪学软件开发好
ip 数据库字段
conn 联接数据库
华为服务器按f11没反应
网易云服务器出现错误10004
数据库压力测试语句
嘉赢网络技术
数据库左连接是什么