当前位置: 首页 > news >正文

使用OpenCV和PIL库读取图片的区别

OpenCV 和 PIL(Pillow)是两个不同的图像处理库,它们使用不同的数据结构来表示图像。

OpenCV 格式图像:
OpenCV 中的图像通常表示为 NumPy 数组。这些数组可以是多维的,例如对于彩色图像,它们是三维数组,其中包含行、列和通道。OpenCV 默认使用 BGR(蓝、绿、红)通道顺序排列图像数据。例如,对于一个彩色图像,它可以被表示为一个形状为 (height, width, 3) 的 NumPy 数组,分别对应图像的高度、宽度和通道数(红、绿、蓝)。

PIL 格式图像:
PIL(Pillow)库中的图像是 Image 对象,它提供了一系列方法和属性来处理图像。PIL 图像对象也可以从文件中加载,然后在 Python 中进行操作。PIL 使用 RGB(红、绿、蓝)通道顺序排列图像数据。

一张原始的图片通常不是特定于任何库的格式。图片的原始表示通常是存储在磁盘上的未经过解码或解析的二进制数据。当我们使用某个库(比如 OpenCV 或 PIL)加载图像时,这个图像会被解码并转换为相应库支持的格式,然后我们可以在代码中进行处理、显示或者保存。

代码如下:
使用OpenCV库:

import cv2# 读取图像
image_path = 'your_image_path.jpg'  # 替换成你的图片路径
image = cv2.imread(image_path)# 获取图像的像素值大小
height, width, channels = image.shape
print(f"图像宽度为:{width} 像素")
print(f"图像高度为:{height} 像素")

使用PIL库:

import cv2# 读取图像
from PIL import Image# 打开图像
image_path = 'your_image_path.jpg'  # 替换成你的图片路径
image = Image.open(image_path)# 获取图像的像素值大小
width, height = image.size
print(f"图像宽度为:{width} 像素")
print(f"图像高度为:{height} 像素")
http://www.lryc.cn/news/262640.html

相关文章:

  • Amazon CodeWhisperer:AI 编程助手
  • Linux 使用 Anaconda+Uwsgi 部署 Django项目和前端项目
  • 分析若依的文件上传处理逻辑
  • Note3---初阶二叉树~~
  • ElasticSearch学习篇8_Lucene之数据存储(Stored Field、DocValue、BKD Tree)
  • ROS机器人入门
  • 30. 深度学习进阶 - 池化
  • 工业应用新典范,飞凌嵌入式FET-D9360-C核心板发布!
  • Webrtc 学习交流
  • 华为云之轻松搭建 Nginx 静态网站
  • 【pytorch】图像运行过程中,保证梯度情况下变换
  • 学习Java第70天,过滤器Filter简介
  • Ubuntu Desktop 22.04 设置 ssh 超时时间
  • 【微服务】Spring Aop原理深入解析
  • Spring Boot JSON中文文档
  • Flink系列之:State Time-To-Live (TTL)
  • 数据结构(Chapter Two -01)—线性表及顺序表
  • 【刷题笔记1】
  • 视频数据卡设计方案:120-基于PCIe的视频数据卡
  • Windows使用VNC Viewer远程桌面Ubuntu【内网穿透】
  • javascript 数组处理的两个利器: `forEach` 和 `map`(上)
  • 【C语言】SCU安全项目1-FindKeys
  • IDA pro软件 如何修改.exe小程序打开对话框显示的文字?
  • Ubuntu22.04切换用户
  • torch.gather(...)
  • vscode如何开发微信小程序?JS与TS的主要区别?
  • 产品入门第五讲:Axure交互和情境
  • Python 自动化之收发邮件(一)
  • Flutter开发笔记 —— sqflite插件数据库应用
  • OxLint 发布了,Eslint 何去何从?