opencv和numpy以及pillow处理图片时数据各个维度的布局是怎样的
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,opencv和numpy以及pillow处理图片时数据各个维度的布局是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。openc
千家信息网最后更新 2025年01月24日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安全错误
数据库的锁怎样保障安全
北京正规软件开发哪家实惠
上海最好网络安全公司
成都水果软件开发
网络安全法哪年开始
阿里云服务器总经理
软件开发 微信支付面试
网络安全逆向移动端
数据库关系代输
java获取数据库时间
调用sql表中的数据库
服务器双硬盘更换硬盘
数据库模式的定义和用法
恶意网站 统计 数据库
吴江区运营网络技术市场价格
美国网络安全法具体内容
银行金融软件开发前景
数据库重组说法正确的是
qq安全点和服务器模式区别
游戏后台软件开发
四川自贡国家网络安全宣传周
贵阳推广软件开发联系方式
互联网汽车黑科技
安卓软件开发者平台
网络安全的优势和劣势
奇迹登录器不显示服务器
异想天开互联网科技
java软件开发指的
中国科技互联网市场
dns服务器 架设
人工智能和数据库哪个前景好