python opencv读取灰度图像_openCV-python(一)图像读取和写入

一、了解图像的存储形式

首先得了解下图像在计算机中存储形式:(为了方便画图,每列像素值都写一样了)

1.灰色图像

对于只有黑白颜色的灰度图,为单通道,一个像素块对应矩阵中一个数字,数值为0到255, 其中0表示最暗(黑色) ,255表示最亮(白色)

image.png

2.彩色图像

对于采用RGB模式的彩色图片,为三通道图,Red、Green、Blue三原色,按不同比例相加,一个像素块对应矩阵中的一个向量, 如[24,180, 50],分别表示三种颜色的比列, 即对应深度上的数字,如下图所示:

image.png

需要注意的是,由于历史遗留问题,opencv采用BGR模式,而不是RGB

二、opencv包安装

这里直接安装opencv-python包(非官方):

pip install opencv-python

三、openCV简单图像处理

1.图像的读取和写入

import cv2

# 读取图像

img = cv2.imread('Images/1.bmp')

# 展示图像 第一个参数为窗口名称,第二个参数为图像对象

cv2.imshow('newimage',img)

# 键盘绑定时间,阻塞监听键盘按键,返回一个数字

cv2.waitKey()

# 按键盘任意键,窗口关闭,

cv2.destroyAllWindows()

# 关闭指定窗口destroyWindow(窗口名称)

# cv2.destroyWindow('newimage')

# 将图片保存在本地,自己命令文件名

new_img = cv2.imwrite('3.jpg',img)

运行后如下图,按键盘任意键,窗口关闭,在demo01.py文件同路径下多了一个03.jpg

image.png

image.png

重点:

1. cv2.imread(img_path,flag) 读取图片,返回图片对象

img_path: 图片的路径,即使路径错误也不会报错,但打印返回的图片对象为None

flag:cv2.IMREAD_COLOR,读取彩色图片,图片透明性会被忽略,为默认参数,也可以传入1

cv2.IMREAD_GRAYSCALE,按灰度模式读取图像,也可以传入0

cv2.IMREAD_UNCHANGED,读取图像,包括其alpha通道,也可以传入-1

2. cv2.imshow(window_name,img):显示图片,窗口自适应图片大小

window_name: 指定窗口的名字

img:显示的图片对象

可以指定多个窗口名称,显示多个图片

3. cv2.waitKey(millseconds) 键盘绑定事件,阻塞监听键盘按键,返回一个数字(不同按键对应的数字不同)

millseconds: 传入时间毫秒数,在该时间内等待键盘事件;传入0时,会一直等待键盘事件

4. cv2.destroyAllWindows(window_name)

window_name: 需要关闭的窗口名字,不传入时关闭所有窗口

5. cv2.imwrite(img_path_name,img)

** img_path_name**:保存的文件名

img:文件对象

总结:以上就是openCV-python处理图像的基本操作

你可能感兴趣的:(python,opencv读取灰度图像)