计算机视觉与机器学习入门

在信息技术飞速发展的今天,机器学习成为了一个热门领域。顾名思义,机器学习是训练机器识别、检测和识别数据中模式的学科,无论是结构化数据还是非结构化数据。机器学习在现代应用广泛,从医学到增强现实,再到人工智能等。机器学习的主要类型包括:

监督学习、无监督学习和强化学习。监督学习使用标记数据训练模型,无监督学习使用未标记数据训练模型,而强化学习则教导模型或代理如何区分正确和错误的行动。

OpenCV库简介

OpenCV是一个专为计算机视觉领域设计的编程库。由英特尔公司主导开发,并于1999-2000年向公众发布。OpenCV代表开源计算机视觉库,它是最常用、流行且文档齐全的计算机视觉库之一。由于它是开源的,因此不需要许可证即可使用该软件。

大多数机器学习算法需要输入是定量的,即数值型数据。OpenCV允许将机器学习技术应用于图像,但通常需要预处理和准备原始图像,将它们转换成对机器学习算法有用和可用的特征(数据列)。

Python中的OpenCV编程

将探讨如何使用Python编程语言中的OpenCV包处理图像。在这个学习过程中,将使用OpenCV的Logo.png。可以从以下链接下载图片,或者保存下面提供的图片。

import cv2 # 以灰度模式加载图像... image = cv2.imread("C:/Users/Shivek/Pictures/487px-OpenCV_Logo_with_text_svg_version.svg.png", 0) cv2.imshow('计算机视觉分析', image) cv2.waitKey(0) cv2.destroyAllWindows()

以上代码展示了如何将图像加载到系统的随机访问存储器(RAM)中。知道图像是数据的来源,可以从中获取信息并推断模式。需要注意的是,当在程序中使用imread()方法时,原始图像基本上被转换成了熟悉的数据/对象类型,即NumPy数组。首先,以灰度模式加载图像,并从那里开始探索。

imread()方法接受两个主要参数:文件名(字符串数据类型)和标志(整数数据类型)。请注意,需要将文件路径替换为电脑上图像存储的位置。如所见,提供了电脑上图像的文件名和位置,并使用了0的标志。标志本质上是预定义的参数,不会改变,根据需要使用。标志0将加载图像为灰度格式,即黑白。

使用imshow()方法将加载到内存中的图像显示在数字显示(屏幕)上。需要理解imshow()是一个非常强大的OpenCV方法,因为它为创建了一个显示-它将返回一个包含加载到内存中的图像的GUI窗口。此方法需要两个参数-一个是要显示的窗口的标题(包含图像);另一个是图像本身-记住图像可以存储在一个变量中-因此,可以传递包含图像的变量名-在例子中是变量image。

灰度图像输出将如下所示:

cv2.waitKey(0)

当imshow()函数在屏幕上显示图像输出时,弹出的窗口会立即消失,因为它没有信号或标志提示窗口保持可见,除非发生了特定的动作或事件。在这种情况下,如果想让窗口保持在屏幕上,需要向waitKey()函数指定一个参数。这个函数将接受一个整数值,表示希望窗口在屏幕上保持多久,然后窗口才会被销毁/终止。

  • cv2.waitKey(0):向waitKey()函数传递0值。零是预定义的标志,将指定GUI系统,无限期地显示窗口-确切地说-waitKey(0)将无限期地等待终止图像窗口。终止是在用户按下键盘上的任何字符或方向键时触发的。
  • cv2.waitKey():waitKey()函数的默认行为是无限期等待,即无限期地显示窗口。传递值的参数名称是delay。waitKey()函数的默认语法行如下:cv2.waitKey(delay=None),而delay=None为提供了与delay=0相同的输出。
cv2.destroyAllWindows()
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485