分别使用Image和cv2读,显示,保存图片

本文通过实例对比了Python图像处理库PIL和OpenCV的功能,包括图像的读取、显示、保存及颜色空间转换等操作。展示了两种库在处理图像时的不同表现,并解释了背后的原因。

目录

前言

一、使用PIL中的Image

二、使用OpenCV

实验结果总结


前言

有时会用到PIL中的Image和OpenCV中的cv2对图片进行操作


一、使用PIL中的Image

使用PIL中的Image来进行读,显示,保存。使用cv2.cvtColor()颜色空间转换

示例如下:

from PIL import Image
import cv2
import numpy as np

img_path = r"D:\1.PNG"
save_location = r"D:\2.png"
image_one = Image.open(img_path)
image_one.show()
# 宽,高,格式:image_one.width, image_one.height, image_one.format
width, height = image_one.size # 返回(width, height)
image_one.save(save_location)
# np.asarray(image) PIL image转换为array
image_rgb2bgr = cv2.cvtColor(np.asarray(image_one), cv2.COLOR_RGB2BGR)
cv2.imshow("image_rgb2bgr", image_rgb2bgr)
cv2.waitKey(0)

二、使用OpenCV

示例如下:

import cv2

img_path = r"D:\1.PNG"
<think>好的,用户的问题是关于如何使用Pythoncv2显示图片。我需要先回忆一下相关的知识。用户提到了cv2.imshow、waitKey这些函数,这可能来自OpenCV库。根据用户提供的引用,特别是引用[2]中的示例代码,正确的步骤应该是图片显示、等待按键然后关闭窗口。 首先,需要导入cv2模块。然后使用imread图片文件,这里要注意路径是否正确。接着用imshow创建窗口显示图片。waitKey(0)会一直等待用户按下任意键,之后调用destroyAllWindows来关闭所有窗口。用户可能需要注意图片的路径问题,如果文件不存在的话会出错,可能需要检查路径或者使用绝对路径。另外,有些情况下可能需要处理窗口的关闭事件,但基本示例应该没问题。 需要确保代码示例正确,比如函数名是否正确,是否有拼写错误。例如,cv2.imshow的参数是否正确,第一个参数是窗口名称,第二个是图像对象。还要提醒用户安装opencv-python库,如果尚未安装的话。用户可能遇到的问题包括图片显示、窗口闪退,这些通常是因为没有正确使用waitKey或者destroyAllWindows。可能需要解释这些函数的作用,比如waitKey(0)是无限等待,而正数参数是毫秒数。 另外,用户的需求是显示图片,所以保存图片的部分可能不需要,但引用[3]提到imwrite,如果有需要保存的话可以提及,但当前问题不需要。还要注意中文字符在路径中可能导致的问题,可能需要提醒用户避免或者使用正确的编码方式。 总结回答结构:先给出代码示例,然后逐步解释每个步骤的作用,最后给出注意事项,比如安装库、路径问题、窗口控制等。同时根据用户提供的引用,正确标注引用来源,特别是引用[2]中的示例代码。最后生成相关问题,帮助用户扩展知识,比如取不同格式图片保存图片、处理窗口事件等。</think>使用Python的OpenCV库(cv2显示图片的标准方法如下: ### 分步说明 1. **安装依赖库** ```bash pip install opencv-python ``` 2. **基础显示代码** ```python import cv2 # 图片(注意文件路径需正确) image = cv2.imread('example.jpg') # 创建窗口并显示图像 cv2.imshow('Image Window', image) # 等待按键输入(0表示无限等待) cv2.waitKey(0) # 销毁所有OpenCV创建的窗口 cv2.destroyAllWindows() ``` ### 关键函数解析 - `cv2.imread()`:取图像文件,支持JPG/PNG/BMP等格式[^2] - `cv2.imshow()`:创建命名窗口显示图像,窗口名称需为字符串类型[^2] - `cv2.waitKey()`:控制窗口显示时长,参数为毫秒数(0表示持续显示) - `cv2.destroyAllWindows()`:释放窗口资源[^2] ### 注意事项 1. 若出现窗口闪退,检查是否遗漏`waitKey()` 2. 图像路径建议使用绝对路径,如:`/Users/name/Documents/image.png` 3. 支持显示彩色/灰度图像,可通过参数控制: ```python gray_image = cv2.imread('example.jpg', cv2.IMREAD_GRAYSCALE) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值