文章目录
一、OpenCV介绍
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。
OpenCV 由一系列 C 函数和少量 C++ 类构成,同时提供了 Python、Java、MATLAB 等语言的接口。
OpenCV 提供了大量的计算机视觉算法和图像处理工具,广泛应用于图像和视频的处理、分析以及机器学习领域。
OpenCV 的设计目标是提供一套简单易用的计算机视觉基础库,帮助开发人员快速构建复杂的视觉应用。
二、OpenCV安装
直接pip安装
pip install opencv-python
注意:1.安装的时候时opencv-python,导入的时候用import cv2
2.opencv还依赖于一些库,numpy,matplotlib,所以得先安装上
三,OpenCV的基本操作
1,读入图片
import cv2
image = cv2.imread('milk dragon.jpg')
图片储存在image中,cv2.imread()是以BGR的顺序读取图片,因此,我们用split分割图片是以bgr的顺序分割的
b,g,r = cv2.split(image)
合并成RGB形式
img_RGB = cv2.merge([r,g,b])
此时我们有两种形式的图像rgb格式(img_RGB)和bgr形式(image)
用matplotlib显示这两张图片,对比一下
from matplotlib import pyplot as plt
plt.subplot(1,2,1)
plt.imshow(img_OpenCV)
plt.subplot(1,2,2)
plt.imshow(img_matplotlib)
plt.show()
同样,我们也可以用opencv显示图片
cv2.imshow("Display", img)
# 等待按键输入
# 参数 0 表示无限等待,直到用户按下任意键
# 返回值 k 是用户按下的键的 ASCII 码值
k = cv.waitKey(0)
# 关闭所有 OpenCV 窗口
cv2.destroyAllWindows()
可使用numpy索引获取RGB通道
B = image[:,:,0]
G = image[:,:,1]
R = image[:,:,2]
也可使用一条语句将BGR转换成RGB
img_RGB = image[:,:,::-1]
2,Opencv中对彩色图片的操作
1.获取行,列,通道的数量
dimensions = img.shape
例:输出(1080, 1080, 3)
2 .获取图片数据类型
image_type = image.dtype
输出:数据类型 uint8
3.获取图片大小
image_size = image.size
输出:3499200 (size=行列通道数)
4.访问某个像素值(例如5行5列)
(b,g,r) = image[5,5,:]
输出三个通道该位置的像素值(0-255):227 223 229
5.修改某个位置的像素值
image[5,5]=(0,0,255)
6.切片
left_coner = image[0:20,0:20] #截取左上角大小为20*20的部分
3.对灰度图像的访问与操作
读入
gray_img = cv2.imread('milk dragon.png', cv2.IMREAD_GRAYSCALE)
其他操作就和上面一样了