个人技术分享

计算机视觉简介

计算机视觉是人工智能 (AI) 的一个领域,是指让计算机和系统能够从图像、视频和其他视觉输入中获取有意义的信息,并根据该信息采取行动或提供建议。 如果说人工智能赋予计算机思考的能力,那么计算机视觉就是赋予发现、观察和理解的能力。

OpenCV介绍

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。

图像的读取

cv2.imread(filename, flags)
参数:
filepath:读入imge的完整路径
flags:标志位,{cv2.IMREAD_COLOR,cv2.IMREAD_GRAYSCALE,cv2.IMREAD_UNCHANGED}
cv2.IMREAD_COLOR:默认参数,彩色图片,忽略alpha通道,可用1作为实参替代
cv2.IMREAD_GRAYSCALE:灰度图片,可用0作为实参替代
cv2.IMREAD_UNCHANGED:完整图片,包括alpha通道,可用-1作为实参替代

图像的显示

cv2.imshow(name,img) 函数在窗口中显示图像,窗口自动适应图像的大小。
参数:
name:窗口名,它是一个字符串
img:就是我们的图像。
你可以根据需要创建任意数量的窗口,但是窗口名字要不同。

图像窗口等待时间

cv2.waitKey()
参数:
以毫秒为单位的时间。该函数为任意键盘事件等待指定毫秒。如果你在这段时间内按下任意键,程序将继续。如果传的是 0,它会一直等待键盘按下。它也可以设置检测特定的击键。

图像窗口的全部销毁

cv2.destroyAllWindows()
简单的销毁我们创建的所有窗口。如果你想销毁任意指定窗口,应该使用函数 cv.destroyWindow() 参数是确切的窗口名。

图像的保存

cv2.imwrite(filename,img)
参数
filename:文件名,
img:你要保存的图像。

图像的基本操作代码实现

// 基本操作代码
import cv2 

image = cv2.imread("./img/cat.jpg")

cv2.imshow("res", image)

cv2.waitKey(0) 

cv2.destroyAllWindows()  

cv2.imwrite("./cat_save.jpg", image)

代码运行后效果图