当前位置 »威客网 » 新闻中心 »图像处理和计算机视觉基础,新手指引基础版

图像处理和计算机视觉基础,新手指引基础版

2017年12月6日来源:bd5029685ef27cfa2be3e91ccdf9a34f威客网小分类:[$-小分类-$]

新闻摘要:图像处理和计算机视觉基础,个人成功经验分享
计算机视觉也算是我本人的一个爱好,平时没事就喜欢看相关的一些书籍和网络分享的一些经验,通过多年的积累,现在也小有成就。所以分享些自己的新的给大家。

1 .图像处理和计算机视觉的分类

根据目前流行的分类方法,可以分为三个部分:
a 图像处理:对输入图像进行一些变换,输出仍然是图像,不涉及或很少涉及图像内容的分析。
更典型的图像变换、图像增强、图像去噪、图像压缩、图像恢复、二进制图像处理等。
基于阈值的图像分割也是图像处理的一种。
它通常是一个单一的图像。

b 图像分析:分析图像内容,提取有意义的特征进行后续处理。
我们还在处理单个图像。

c 计算机视觉:分析图像分析的特点,提取场景的语义表示,使计算机具有人眼和人脑的能力。
在这一点上,我们正在处理多个图像或序列图像,包括一些单一的图像。


图像处理、图像分析和计算机视觉都没有统一的标准。
一般来说,图像处理的书籍将会多或少引入一些图像分析和计算机视觉知识,如冈萨雷斯的数字图像处理。
计算机视觉书籍主要包括图像处理和图像分析,但不太详细。
在图像处理中,图像分析和计算机视觉可以纳入计算机视觉的范畴,图像处理- >低级视觉(低水平视觉),图像分析- >中间层视觉(中层视觉),计算机视觉- >高级视觉(高级视觉)。
这是通用计算机视觉或机器视觉分割方法。
在本文中,该领域仍分为图像处理、图像分析和计算机视觉。

2 .项目
图像处理和计算机视觉开源库和编程语言的选择

图像处理中有两种最重要的语言:c / c++和matlab。
每个都有它的优点:c / c++更适合大型项目,效率更高,并且很容易转换成硬件语言,这是这个行业的默认语言之一。
Matlab更方便,适合快速验证算法,Matlab有一个成熟的工具栏,如图像处理工具箱,信号处理工具箱。
它们共享一个共同的特性:开源是一个巨大的资源。
在学术界对matlab的使用非常广泛,许多作者给出了源代码的matlab版本。
近年来,由于OpenCV的兴起和改进,c / c++在图像处理中扮演着越来越重要的角色。
一般来说,c / c++和matlab必须精通,最好精通,当然,专注于c / c++将对找工作有很大帮助。
对于开源图书馆,OpenCV是由个人强烈推荐的,主要原因如下:
(1)开头容易。
当OpenCV进入OpenCV2。
X越来越简单,界面变得越来越愚蠢,越来越多的matlab。
只要imread、imwrite、imshow和了解Mat基本操作即可启动。

(2)OpenCV有大量的图像处理和计算机视觉的大型养牛的维护,bug逐渐减少,每一个新版本都会带来不同的惊喜。
它已经或正在逐渐被移植到一个不被理解的平台上,并为Python提供了良好的支持。

(3)OpenCV可以尝试所有最新、成熟的技术,不需要从头到尾去编写,如人脸检测(Harr、LBP)、DPM(潜伏SVM)、高斯背景模型、特征检测、聚类、hough变换等。
它还支持多种机器学习方法(SVM、NN、KNN、决策树、增强等),使用起来非常简单。

(4)文档内容丰富,提供了许多示例程序。
当然,有些本地文档描述并不清楚,但是看看代码。

(5)完全开源。
你可以从中间提取任何想要的算法。

(6)现在在这个行业,c / c++仍然是主流,许多公司会倾向于熟悉或熟练的OpenCV。
事实上,在学术界,OpenCV也有很多可以替代matlab。
在之前的演示或源代码中,许多作者愿意给出一个matlab版本,然后其他人更可能是c版本。
现在,作者简单地给出了c / c++版本,或者将它们集成到OpenCV中,这样它们就可以快速地提高它们的影响力。
建议OpenCV成为你的主要目标。

3 .本文的特性和结构,以及适当的对象

本人算不上什么经验之谈,针对即将进入图像处理和计算机视觉领域的同学,做一个简单的指引。