从头开始学习图像处理

时间:2019-07-26 03:52:39

标签: image-processing

我目前正在读计算机科学学位,是一名大三学生。我真的对事情的实际运作方式感到好奇。虽然我意识到我永远不会了解所有事情,但我还是希望深入了解很多事情的基础知识。在我的日常生活中,我遇到了很多这样的事情:机器学习,AI,服务器,编译器等。但是,真正令我惊讶的是图像处理软件,以及我们通过它所取得的惊人成就。这个日期。

但是,无论我在哪里看,我都没有对它的工作原理有很多了解,而是要使用的库列表( cough OpenCV)代替。像这样的图书馆确实很棒,但使用它却无法达到想要学习事物如何工作的目的。

是否有人可以推荐有关图像处理的优质资源,或者我最好的选择就是浏览现有的库?

1 个答案:

答案 0 :(得分:0)

按照用户T A的建议,购买一本很好的关于图像处理的大学级书籍,并逐步进行学习。

冈萨雷斯和伍兹是一本常用的教科书,您应该觉得它可读。

https://www.pearson.com/us/higher-education/program/Gonzalez-Digital-Image-Processing-4th-Edition/PGM241219.html

您如何学习该领域取决于您过去发现最有效的学习方式。

  1. 选择一个相对简单的图像处理问题,例如计算图像中的圆圈数。首先,尝试自己解决。给那一两天。然后,如果遇到问题,请在教科书中寻找答案。
    1. 找到免费的OpenCV课程。首先,尝试通过将算法(OpenCV函数)视为黑匣子来解决一些问题:阅读文档,修改参数,尝试其他图像等,但是在您掌握一些算法之前,请不要过分深入了解如何在更高级别上一起使用算法。
    2. 参加本科课程。教授或讲师带领您解决问题,以及取得成绩的需要,如果他们下垂就可以帮助他们。
    3. 在一家在其产品中使用图像处理的公司实习。进行与代码远程相关的任何实习,然后根据需要向工程师询问事情的工作方式,阅读内容等。

通常,我不建议您零碎学习图像处理,阅读博客等。

您尝试自己解决实际问题的次数越多,您将越能体会到该领域中一些不那么容易理解的问题。当您尝试使图像处理系统更稳定地工作时,选择正确的摄像头,增亮和其他硬件选择就变得很重要。您在网上看到的许多演示都无法在实际情况下正常运行。 (例如,即使灯光,与物体的距离和物体的方向仅发生很小的变化,通过物体的预期颜色来区分物体也会导致令人失望的结果。)

首先,尝试找到您感兴趣的一些特殊问题:识别动物; SLAM;面部识别;根据视频流预测事件;确定水果的成熟度;管他呢。尝试找到与您的其他兴趣重叠的图像处理方面:体育,文学,音乐,戏剧,社交网络,自行车赛,畜牧业,环境科学或您拥有的东西。一旦确定了您感兴趣的问题,解决的问题就是越来越复杂的问题。

如果您还有其他问题,请随时给我发送私人消息。我从事该领域已有20多年了,我喜欢帮助引导新人们进入该领域。

此外:您可以开始使用Python,Julia或其他几种语言,但是(截至2019年)使用C或C ++编写图像处理算法仍然很普遍。因此,我建议您从熟悉和最喜欢的语言开始,但也要花一些时间练习C ++。我读过的大多数学术论文都提供了C或C ++的算法,尽管通常使用的是较早版本的C ++,不需要您熟悉C ++ 11及更高版本。