2-图像的读取与显示
OpenCV的坐标系原点(0,0)是图片的左上角点,坐标系的X轴为图像矩形的上水平线,从左往右;代码示例:img = cv2.imread(“D:\car.jpg”,cv2.IMREAD_UNCHANGED) ,加载保存在D盘下的图片car.jpg,加载方式为彩色图像,透明度不会被忽略。RGB图像有三个值R,G,B,每一份值都在0-255之间,在OpenCV里通道顺序为:BGR(4,252,234
# 导入OpenCV库
import cv2
# 使用 cv2中的读取图片函数读取图片
img = cv2.imread('images/bird.jpg')
# 创建显示窗口
cv2.namedWindow("show")
# 显示图像
cv2.imshow("show",img)
# 等待键盘key
key = cv2.waitKey()

1.图像的类型
(1)二值图像(Binary Image)
每个像素只有两个可能的值,通常是0(黑色)和255(白色),用于表示黑白图像或经过阈值处理后的图像,通常用于形态学操作、边缘检测等。
(2)灰度图像(Grayscale Image)
每个像素有一个值,通常在0(黑色)到255(白色)之间,这个值表示像素的亮度,不包含颜色信息,灰度图像在需要颜色信息但计算资源有限时很有用。最小值为0:纯黑;最大值为255:纯白;中间值为灰色。
(3)彩色图像(RGB图像)
RGB图像有三个值R,G,B,每一份值都在0-255之间,在OpenCV里通道顺序为:BGR(4,252,234))。RGB图像提供了丰富的视觉信息,适用于各种计算机视觉任务。
2.图像的坐标系表示方法
(1)坐标系
OpenCV的坐标系原点(0,0)是图片的左上角点,坐标系的X轴为图像矩形的上水平线,从左往右;Y轴为图像矩形的左垂直线,从上到下。Point(x, y)第一个参数x代表的是元素所在图像的列数cols; 第二个参数y代表的是元素所在图像的行数rows。
(2)坐标表示
原点(0,0),(x,y)坐标点,x表示水平方向上的位置,
y表示垂直方向上的位置。

3.读取图像函数:cv2.imread()
作用:实现图像的读取。
语法格式: cv2.imread(filename, flag)
filename:要读取的图像目录和名称;
flags:指定以何种方式加载图片,有三个取值:
cv2.IMREAD_COLOR:读取一副彩色图片,图片的透明度会被忽略,默认为该值,实际取值为 1;
cv2.IMREAD_GRAYSCALE:以灰度模式读取一张图片,实际取值为 0;
cv2.IMREAD_UNCHANGED:加载一副彩色图像,透明度不会被忽略。
代码示例:img = cv2.imread(“D:\car.jpg”,cv2.IMREAD_UNCHANGED) ,加载保存在D盘下的图片car.jpg,加载方式为彩色图像,透明度不会被忽略。
# 导入OpenCV库
import cv2
# 使用 cv2中的读取图片函数读取图片
img = cv2.imread('images/bird.jpg',cv2.IMREAD_GRAYSCALE)
# print(img)
# <class 'numpy.ndarray'>
print(type(img))
# uint8
print(img.dtype)
# 创建显示窗口
cv2.namedWindow("show")
# 显示图像
cv2.imshow("show",img)
# 等待键盘key
key = cv2.waitKey()
运行代码:

4.创建窗口函数:cv2.namedWindow()
作用:创建显示计算机视觉对象的窗口。
语法格式: cv2.namedWindow(window_name)
window_name 为新建窗口的名称。
代码示例:cv2.namedWindow(“show”)创建名称为show的窗口。
5.显示图片函数:cv2.imshow()
作用:实现窗口的显示;
语法格式: cv2.imshow(window_name, mat)
window_name:新建窗口的名称;
mat:一个图片矩阵,numpy.ndarray 类型。
cv2.imshow(“show”, img)在名称为show的窗口显示img对象。
6.设置显示时长函数:cv2.waitKey()
作用:实现设置显示时长,不断刷新图像 , 频率时间为delay , 单位为ms ,返回值为当前键盘按键值;
语法格式: cv2.waitKey([time])
time:可选参数,窗口显示的时间。
代码示例:c=cv2.waitKey(1000), 使程序暂停 1 秒钟。
c=cv2.waitKey(0)等待无限时间,用户按下任意键才会退出。
7.实例:
```python
# 导入OpenCV库
import cv2
# 使用 cv2中的读取图片函数读取图片
img = cv2.imread('images/bird.jpg',cv2.IMREAD_GRAYSCALE)
# 创建显示窗口
cv2.namedWindow("show")
# 显示图像
cv2.imshow("show",img)
# 等待键盘key
key = cv2.waitKey(0)
# 按下s键保存图片
if key == ord("s"):
print("保存图片")
cv2.imwrite("images/bird.png",img)
# 按下q键退出
elif key == ord("q"):
cv2.destroyAllWindows()
exit()
rd("s"):
print("保存图片")
cv2.imwrite("images/bird.png",img)
# 按下q键退出
elif key == ord("q"):
cv2.destroyAllWindows()
exit()
更多推荐
所有评论(0)