介绍
我们都知道一句话:“每张照片都可以告诉我们一个故事”。图像中可能隐藏着很多信息,我们可以用不同的方式和视角来解释它。那么,什么是图像,如何处理图像?
简而言之,我们可以说图像是事物的视觉表示,可以使用计算机视觉轻松处理(从机器学习的角度来看)。视频呢?视频可以描述为一组移动图像或连续帧的记录。
你们中的一些人现在可能已经知道计算机视觉,可以选择跳过这一段,但是对于那些不了解它的人,可以这么说,计算机视觉主要以缩写形式“CV”而闻名,可以说是一个从数字图像、视频等中提取有用信息的人工智能领域。
“CV”的几乎所有领域都有很多实际应用,包括医疗领域、汽车、制造、农业等领域。
图 1
作为目前正在阅读这篇文章的人,你将能够区分图像中存在的事物或元素。但是,机器呢?他们能不能自己看到并思考来区分它?不?那么让我们让你的机器做到这一点。
在本博客中,你将熟悉使用 Python 的计算机视觉基础知识。
我相信你已经安装了 Python Shell / Jupyter Notebook / PyCharm 或 Visual Studio Code(仅举几例)来使用 Python 进行编程。
让我们安装广泛使用的包 (OpenCV) 开始,我们将在 Jupyter Notebook 的每个单元格中运行代码。
为图像预处理安装 OpenCV 包
OpenCV 是一个预构建的、开源的库(包),广泛用于计算机视觉、机器学习和图像处理应用程序。它支持多种编程语言,包括 Python。
使用以下命令安装 OpenCV 包:
pip install opencv-python
或者
pip install opencv-contrib-python
在你的终端上运行这些命令中的任何一个,或者如果你使用的是 Anaconda Navigator – Jupyter Notebook,你可以使用“conda”命令替换“pip”。
导入包
Python中的包是什么?Python 中的包是包含预先编写的脚本的模块的集合。这些包帮助我们完全或单独导入模块。我们可以通过调用“cv2”模块来导入包,如下所示:
import cv2
读取图像
数字图像可分为;彩色图像、灰度图像、二值图像和多光谱图像。
彩色图像包括每个像素的颜色信息。以灰色阴影作为唯一颜色的图像是灰度图像,而二值图像正好有两种颜色,主要是黑色和白色像素。多光谱图像是在某些特定波长内捕获跨越电磁光谱的图像数据的图像。
让我们回到编码部分,读取一张图片,例如图片如下所示:
这是山魈的图像。我目前正在从本地目录中读取图像。