1、Opencv简介
OpenCV(Open Source Computer Vision Library)是一个用于计算机视觉和图像处理的开源库,提供了丰富的图像处理、计算机视觉和机器学习功能。它支持多种编程语言,包括C++、Python、Java等,广泛应用于图像处理、目标检测、人脸识别、图像分割、运动跟踪等领域。
2、Opencv安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
3、Opencv功能1:图像读取和显示
3.1 代码
import cv2
# 读取图片,路径中不能有中文
img = cv2.imread("images/KD.jpg")
# 显示图片
cv2.imshow('KD7777777', img)
# 等待键盘输入,单位毫秒,传入0表示永久等待
cv2.waitKey(0)
# OpenCV底层是C++编写的,需要释放内存
cv2.destroyAllWindows()
3.2 效果
4、Opencv功能2:图像灰度
4.1 为什么要进行图片灰度
在OpenCV中,将彩色图像转换为灰度图像是常见的图像处理操作之一。灰度图像是指每个像素点只有一个通道,用于表示图像的亮度或灰度级别,而不包含彩色信息。灰度图像通常用于简化图像处理和计算,减少数据量,同时保留了图像的重要信息。
灰度图像的作用包括:
- 简化图像:将彩色图像转换为灰度图像可以简化图像数据,减少存储空间和处理复杂度。
- 提取图像亮度信息:灰度图像反映了图像中的亮度分布,有助于分析和处理图像的光照条件。
- 增强图像对比度:灰度图像可以通过调整对比度和亮度来增强图像的视觉效果。
辅助图像处理:许多图像处理算法和技术(如边缘检测、图像分割等)在灰度图像上更容易实现和应用,因为灰度图像只有一个通道。
4.2 代码
import cv2
# 读取原始图片
src = cv2.imread("images/girl.jpg")
# 展示原始图片
cv2.imshow("KD", src)
# 进行图片灰度
gray_img = cv2.cvtColor(src, code=cv2.COLOR_BGR2GRAY)
# 展示灰度图片
cv2.imshow("KD_GRAY", gray_img)
# 设置灰度图片一直显示
cv2.waitKey(0)
# 释放内存
cv2.destroyAllWindows()
# 保存灰度图片
cv2.imwrite("images/girl_GRAY.jpg", gray_img)
4.3 效果
图片灰度之后的效果