OpenCV,开源计算机视觉库(Open Source Computer Vision Library),是一个基于Apache2.0许可或BSD许可发行的跨平台计算机视觉和机器学习软件库。该库可以运行在Linux、Windows、Android和Mac OS等操作系统上。OpenCV以一系列C函数和少量C++类构成,其轻量级且高效的特点非常显著。同时,它还提供了Python、Ruby、MATLAB等多种语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV的应用领域广泛,例如人脸识别、物体检测、图像分割等。比如在银行高端客户服务系统的模型中,就使用到了OpenCV来实现人脸识别系统。
以下是一些常用的OpenCV代码示例:
- 读取图像并显示:
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 显示图像
cv2.imshow('image', img)
# 等待按键,然后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
- 将彩色图像转换为灰度图像:
import cv2
# 读取彩色图像
img = cv2.imread('image.jpg')
# 将彩色图像转换为灰度图像
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 显示灰度图像
cv2.imshow('gray image', gray_img)
# 等待按键,然后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
- 对图像进行边缘检测:
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 使用Canny算法进行边缘检测
edges = cv2.Canny(img, 100, 200)
# 显示边缘检测结果
cv2.imshow('edges', edges)
# 等待按键,然后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
- 对图像进行缩放:
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 缩放图像
resized_img = cv2.resize(img, (500, 500))
# 显示缩放后的图像
cv2.imshow('resized image', resized_img)
# 等待按键,然后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
以上是一些常见的OpenCV代码示例,你可以根据需要进行修改和扩展。