达州高端网站建设,网页制作公司背景介绍,怎么建设网站页面,网站开发语言是什么 东西前置条件
说明#xff1a;本系列opencv实战教程将从基础到实战#xff0c;若只是简单学习完python也可以通过该教程完成一般的机器学习编程#xff1b;文中将会对很多python的基础内容进行讲解#xff0c;但由于文章定位的原因将不会赘述过多的基础内容#xff0c;基础内…前置条件
说明本系列opencv实战教程将从基础到实战若只是简单学习完python也可以通过该教程完成一般的机器学习编程文中将会对很多python的基础内容进行讲解但由于文章定位的原因将不会赘述过多的基础内容基础内容进行第一次讲解后第二次将不会过多赘述本文主要讲解的是opencv相关知识。
本文系统及环境本文将在windows7操作系统下以python作为编程语言完成对opencv的程序编写。python版本是3.8。
目录
[python opencv 计算机视觉零基础到实战] 一、opencv的helloworld
[【python opencv 计算机视觉零基础到实战】二、 opencv文件格式与摄像头读取] 一、opencv的helloworld
[[python opencv 计算机视觉零基础到实战] 三、numpy与图像编辑] 一、opencv的helloworld
[[python opencv 计算机视觉零基础到实战] 四、了解色彩空间及其详解] 一、opencv的helloworld
[[python opencv 计算机视觉零基础到实战] 五、对象追踪] 一、opencv的helloworld
一、学习目标
安装opencv了解什么是计算机视觉了解读取图片的方法了解显示图片的方法
二、完成opencv的helloworld程序编写
2.1 opencv是什么
要了解opencv是什么首先可以看opencv的全程——Open Source Computer Vision Library翻译过来为“开源的计算机系统识别库”。那计算机视觉指的是什么呢
计算机视觉并不是指计算机可以去查看某些东西这个说法太过片面并不严谨计算机视觉其实是研究如何让计算机去代替人去观察并且进行一些目标上的处理。在opencv中集成了很多方法可以让我们开发者很容易的完成某些视觉上的操作完成某些目标通过opencv可以让我们无需了解太多的算法知识简便的进行开发。
2.2 opencv可以做什么
opencv应用广泛例如人脸识别、车牌识别、机器人、指纹、文字等还可以对图片信息进行方便的编辑例如可以模糊图片、检测目标等我们可以通过学习opencv可以做一个“检测老板面部自动切屏程序”、“类似于图片抠图等图片操作的软件”、“自动驾驶”等。
2.3 opencv的安装
opencv的安装很简单使用pip命令安装即可。命令如下
pip install opencv-python安装完成后可以在cmd黑框框中进入python命令的交互界面引入opencv即可知道是否已经安装成功。步骤如下 首先输入python进入python命令的交互界面 随后输入命令import cv2引入OpenCV库
若此时并未出错则说明opencv安装正确。 其中import表示引入import cv2表示引入cv2这个模块cv2是模块名其中import的作用是引入。
2.4 opencv的helloworld
opencv的helloworld程序跟一般的helloworld程序不同指读取一张图片并且显示。我们打开自己的编辑器我使用的编辑器是notepad。
opencv读取图片使用的是imread方法在imread方法传入一张图片的路径即可读取到该图片但需要注意的是在读取图片时路径不能出现中文、文件名最好是中文、在传入时还需要注意斜杆会转义尽量的加r使文件路径不转义。查看以下示例
img cv2.imread(rC:\Users\mx\Desktop\1.jpg)以上代码读取一张路径为“C:\Users\mx\Desktop\1.jpg”的图片并且赋值给img变量这是img则为改图片对象。随后显示该变量内容需要先创建一个窗口名为ImageShow使用namedWindow方法。代码如下
cv2.namedWindow(Image)namedWindow接收2个参数一个为窗口名称另一个为显示方式显示方式包括cv.WINDOW_AUTOSIZE与*cv.WINDOW_NORMAL默认情况下是cv.WINDOW_AUTOSIZE默认情况下并不能改变窗口大小若图片太大将会对查看造成一定的影响使用cv.WINDOW_NORMAL则可以对窗口大小进行拖动更改将会方便我们的查看。我们将以上代码更改代码如下
cv2.namedWindow(Image,cv.WINDOW_NORMAL)接下来我们将显示图像使用imshow方法。代码如下
cv2.imshow(Image, img)imshow方法接收2个参数第一个是我们需要在哪个窗口显示的名称第二个是读取后的图片对象img。若在上一步中不创建窗口Image在使用imshow方法时依旧可以直接显示此时将会创建一个当前所命名的窗口。接下来需要添加一个等待防止程序运行完后自动关闭。代码如下
cv2.waitKey (0)接下来关掉窗口调用destroyAllWindows方法该方法将会销毁所有创建的窗口
cv2.destroyAllWindows()也可以使用destroyWindow方法销毁指定的窗口如下代码
cv2.destroyWindow(Image)以上完整的代码如下
import cv2img cv2.imread(rC:\Users\mx\Desktop\1.jpg)#读取
cv2.namedWindow(Image,cv2.WINDOW_NORMAL)#创建一个窗口
cv2.imshow(Image, img)#显示图像
cv2.waitKey (0)#等待关闭
cv2.destroyAllWindows()#destroy运行代码将会出现图片
以上图片左上角为title头是窗口名称并且改图片可以拖动改变大小。我们更改imshow代码使其指定到一个未创建的窗口进行显示
import cv2img cv2.imread(rC:\Users\mx\Desktop\1.jpg)#读取
cv2.namedWindow(Image,cv2.WINDOW_NORMAL)#创建一个窗口
cv2.imshow(Image1, img)#显示图像
cv2.waitKey (0)#等待关闭
cv2.destroyAllWindows()#destroy运行结果如下 我们发现这时创建了一个Image1窗口该窗口显示了该图片内容并且不能改动大小我们使用namedWindow创建的Image窗口并没有指定显示内容所以导致显示内容无但是可以自动改变大小这时因为我们创建该窗口时传入了cv2.WINDOW_NORMAL选择了可自由改变大小。这时可通过这个小例子很好的对比cv2.WINDOW_NORMAL与cv2.WINDOW_AUTOSIZE的区别。
这时也可以改变代码
import cv2img cv2.imread(rC:\Users\mx\Desktop\1.jpg)#读取
cv2.namedWindow(Image,cv2.WINDOW_NORMAL)#创建一个窗口
cv2.imshow(Image1, img)#显示图像
cv2.destroyWindow(Image)
cv2.waitKey (0)#等待关闭
cv2.destroyAllWindows()#destroy以上代码中在waitKey 之前使用了destroyWindow方法对无用的Image窗口进行了销毁运行时将会不再出现Image窗口。 注文章首发于ebaina
三、总结
了解了安装opencv 的命令 pip install opencv-python了解计算机视觉是研究如何让计算机去代替人去观察并且进行一些目标上的处理了解读取图片的方法imread了解显示图片的方法imshow了解窗口创建的多个模式WINDOW_NORMAL与WINDOW_AUTOSIZE了解了销毁所有窗口的方法destroyAllWindows与销毁指定窗口的方法destroyWindow