初识openCV
图像的读取、显示
在PyCharm中读取图像的方法有两种:利用 OpenCV 和 Matplotlib 读取。
文件的读取
在 Python 中,可以通过多种方式读取文件路径,主要包括绝对路径和相对路径。以下是详细介绍:
- 绝对路径:
绝对路径是指从根目录开始的完整路径,它明确地指向文件在文件系统中的位置。使用绝对路径可以避免路径解析的歧义,但缺点是不够灵活,如果文件移动到其他位置,代码就需要修改。
下面展示一些示例代码
:
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')
- 相对路径:
相对路径是从当前工作目录(通常是运行脚本的目录)开始的路径。它更灵活,因为文件路径是相对于脚本的运行位置的。
下面展示一些示例代码
:
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')
- 绝对路径:
. 表示当前目录。
… 表示上一级目录。
下面展示一些示例代码
:
# 上一级目录中的文件
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)
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()