在信息技术飞速发展的今天,机器学习成为了一个热门领域。顾名思义,机器学习是训练机器识别、检测和识别数据中模式的学科,无论是结构化数据还是非结构化数据。机器学习在现代应用广泛,从医学到增强现实,再到人工智能等。机器学习的主要类型包括:
监督学习、无监督学习和强化学习。监督学习使用标记数据训练模型,无监督学习使用未标记数据训练模型,而强化学习则教导模型或代理如何区分正确和错误的行动。
OpenCV是一个专为计算机视觉领域设计的编程库。由英特尔公司主导开发,并于1999-2000年向公众发布。OpenCV代表开源计算机视觉库,它是最常用、流行且文档齐全的计算机视觉库之一。由于它是开源的,因此不需要许可证即可使用该软件。
大多数机器学习算法需要输入是定量的,即数值型数据。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.destroyAllWindows()