OpenCV入门

        OpenCV(Open Source Computer Vision Library)是一个计算机视觉开源库,其包含成百上千的计算机视觉算法。前期OpenCV用C语言编写,后来改用C++编写,现在支持多种接口,如C++、Python、Java等。该库是跨平台的,根据开源BSD许可证免费使用,支持Windows、Linux、IOS、Android等。下面看下如何安装并测试opencv。

OpenCV官网

Home - OpenCV

目录

一、下载安装

1、帮助文档下载(如果网络可以,直接看在线文档)

(1)下载

(2)打开

2、安装opencv

二、OpenCV测试

1、查看是否安装成功

2、代码测试

读取与显示图片

彩色图转灰度图

其他操作如平滑、高斯滤波等可参考官网案例

三、后续


一、下载安装

1、帮助文档下载(如果网络可以,直接看在线文档)

https://docs.opencv.org/4.5.3/index.htmlhttps://docs.opencv.org/4.5.3/index.htmlicon-default.png?t=LA92https://docs.opencv.org/4.5.3/index.html

(1)下载

根据上述简短描述,我们了解了OpenCV的强大,那么接下入门来第一步是什么呢?既然它是一个库,那么使用说明是必不可少的,所以我们先下载它的文档。上官网找到Online Documentation,点进去,找最新的或者自己安装的版本。点击zip即可下载。

OpenCV入门_第1张图片

OpenCV入门_第2张图片

(2)打开

解压文件夹,打开勾选类型HTML,找到pages.html,双击打开即可

OpenCV入门_第3张图片

2、安装opencv

预安装(可选择不安装):

在命令窗口输入:pip install numpy  等安装完,再输入:pip install matplotlib (有时安装错误,可以重启命令窗口再次输入命令安装一下)

(1)直接默认安装最新版本

在命令窗口输入:pip install opencv-python

(2)自选版本安装

在命令窗口输入:pip install opencv-python==    ,执行后,会提示所有的版本。

图片

选择其中的一个版本,比如我选最新版本:pip install opencv-python==4.5.3.56    ,再次执行命令即可下载安装。

二、OpenCV测试

1、查看是否安装成功

打开IDLE,输入查看版本,如果没有弹出错误,证明安装成功

图片

2、代码测试

在此之前,先安装jupyter(可选择不安装),按win+R打开命令窗口,输入:pip install jupyter。安装完后,再输入:jupyter notebook 启动。

我们用一张经典的图片

OpenCV入门_第4张图片

关于Lena的历史,可参考,嘿嘿。

Lena——计算机视觉中的女神被人忽视的部分_xjp_xujiping的博客-CSDN博客_lena计算机视觉

读取与显示图片

import cv2
img = cv2.imread(r"C:\Users\XSF\Desktop\test\Lena.jpg")

OpenCV入门_第5张图片

        可以看到,读取到的是一个三维数组,即对应于图片的RGB值。但是要注意,cv2读取的通道顺序是B(Blue),G(Green),R(Red),即img[:,:,0]表示蓝色的亮度,img[:,:,1]表示绿色的亮度,img[:,:,2]表示红色的亮度。

#显示图片
cv2.imshow("title_name",img)
#等待时间,0代表按任意键终止
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV入门_第6张图片

彩色图转灰度图

#将图片转为灰度图
img_gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
cv2.imshow("img_gray",img_gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV入门_第7张图片

其他操作如平滑、高斯滤波等可参考官网案例

OpenCV: OpenCV modules

这个教程从原理出发一点一点讲解,并且带有很多案例,非常适合小白入门。

Python图像处理效果

OpenCV: OpenCV-Python Tutorials

图像平滑

OpenCV入门_第8张图片

边缘检测

OpenCV入门_第9张图片

三、后续

        后面我将测试图像识别相关的代码,进一步的,将代码跑在嵌入式设备上。

你可能感兴趣的:(OpenCV,opencv,计算机视觉,python)