初识openCV--图像的读取,显示和保存

图像的读取、显示

在PyCharm中读取图像的方法有两种:利用 OpenCV 和 Matplotlib 读取。

文件的读取

在 Python 中,可以通过多种方式读取文件路径,主要包括绝对路径和相对路径。以下是详细介绍:

  1. 绝对路径:
    绝对路径是指从根目录开始的完整路径,它明确地指向文件在文件系统中的位置。使用绝对路径可以避免路径解析的歧义,但缺点是不够灵活,如果文件移动到其他位置,代码就需要修改。
    下面展示一些 示例代码:
 import cv2
 file_path = "C:/Users/username/Documents/example.jpg"  # Windows 系统的绝对路径
 file_path = "/home/username/Documents/example.jpg"  # Linux 或 macOS 系统的绝对路径
 image=cv2.imread(r'C:/Users/username/Documents/example.jpg')
  1. 相对路径:
    相对路径是从当前工作目录(通常是运行脚本的目录)开始的路径。它更灵活,因为文件路径是相对于脚本的运行位置的。
    下面展示一些 示例代码:
import cv2
file_path = "C:/Users/username/Documents/example.jpg"  # Windows 系统的绝对路径
file_path = ""C:/Users/username" # Windows 你所处的文件夹
image=cv2.imread(r'./Documents/example.jpg')
 # 如果你处于C:/Users/username/Documents的文件夹下
 image1=cv2.imread('example.jpg')
  1. 绝对路径:
    . 表示当前目录。
    … 表示上一级目录。
    下面展示一些 示例代码:
# 上一级目录中的文件
file_path = "../example.txt"
# 用户主目录中的文件
file_path = "~/Documents/example.txt"
import cv2
img1 = cv2.imread("001.bmp", 1)
cv2.imshow("001", img1)
cv2.waitKey(0)

OpenCV读取、显示

使用 OpenCV读入时,需要imread()函数实现,读入格式为:cv2.imread(“文件名”,标记符 (flag))。
标记符默认值为1,表述读入彩色图像(通道顺序为BGR)。当标记符设置为0的时,表示读入灰度图。
使用 OpenCV 显示图像的格式为 : cv2.imshow(显示名称,图像数据):

import cv2
img1=cv2.imread('1.bmp',1)
img2=cv2.imread('1.bmp', 0)
cv2.imshow('img1',img1)
cv2.imshow('img2',img2)
cv2.waitKey(0)

当flag为1时,显示的为彩色图
当flag为0时,显示的为彩色图
cv2.waitKey(delay)函数的作用是在给定的时间内(以毫秒为单位)等待用户按键触发。0 表示无限期等待,直到有按键被按下。
cv2.waitKey(0)通常在 cv2.imshow() 函数之后使用,以确保程序在显示图像后不会立即结束,而是等待用户进行交互。

matplotlib读取、显示

使用matplotlib.pyplot中的 plt.imread() 函数实现图片数据的读入,格式为:matplotlib.pyplot.imread (“文件名称”,格式(format)),与OpenCV读入不同,matplotlib.pyplot读入的图像数据根据图片本身决定是彩色图还是灰度图。
同样,使用 matplotlib.pyplot中的 imshow() 函数可以实现图像的显示,常用格式为:matplotlib.pyplot.imshow(文件名,颜色图谱(cmap)),最后还需要使用 show() 函数完成显示。

import matplotlib.pyplot as plt
image=plt.imread('1.bmp')
plt.imshow(image)
plt.title("001")
plt.show()

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值