本人计算机专业,将要读硕士,对数字图像处理方向感兴趣 ...
本科时学过这门课程,但当时也学的不深,用的是章毓晋教授的那本书。但现在我想理论加实践地学习一下,并且想了解一下如今主流的图像处理软件与工具是什么?本科时上课用的是Matlab,但是感觉效率很低,也就是能加深对算法的理解。有没有什么推荐的工具与学习方法?谢谢大家。 最近和一位高校的老师合作,刚好接触了一些计算机视觉处理开发相关的技术。计算机视觉处理,主要目的还是图形识别,还包括滤波、模糊化等等许多处理功能。
在这个项目里面,主要是用C++开发,不过,我发现学习Python对工作帮助很大,可以快速尝试功OpenCV的功能,显示图像内容(我主要用matplotlib 和 Ploty)。
[*]Home - OpenCV:
这是主流的视觉处理的开发包。功能非常丰富,还有AI功能。
[*]Cloud Point Library
The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing. PCL is released under the terms of the BSD license, and thus free for commercial and research use.
这个工具主要是画图用的。
Python还有一些图形方面的库:
[*]Matplotlib,Visualization with Python
Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. Matplotlib makes easy things easy and hard things possible.
[*]plotly,Plotly Open Source Graphing Libraries
Interactive charts and maps for Python, R, Julia, Javascript, ggplot2, F#, MATLAB, and Dash.
一点儿小经验,希望对你有帮助。
如果从事于视觉处理开发工作,系统化学习OpenCV还是很有比较的。我在学习的过程中,发现OpenCV使用了大量的数学知识和计算机方面的优化技巧。
中文书
[*]OpenCV 4详解:基于Python 计算机视觉图像处理机器学习编程轻松快速从入门到实践
提供许多案例、代码清单。涉及面比较全面。
[*]计算机视觉40例从入门到深度学习
这本书是主要方向是讲AI处理功能。
<a data-draft-node="block" data-draft-type="mcn-link-card" data-mcn-id="1598745211605049345">
[*]opencv 4计算机视觉:python语言实现 第三版
这本书也不错,老外写的,内容覆盖全面。代码开源,持续更新。 数字图像处理本质上属于通信工程的领域,所以通常数字图像处理有一些先修课程,例如:《信号与系统》、《数字图像处理》,这些课程在CS本科阶段不会开设,题主可以自己先学习起来。具体学习路径:
1、《数字图像处理》这个是通信工程专业的标准课程了,比较经典的是 冈萨雷斯版本,相应配套的还有 《数字图像处理MATLAB实现》,直接是MATLAB版本的。这本教材理论性较强,并且主要还是集中在传统的数字图像处理算法中。
2、章毓晋教授的《图像工程》总共有三册,这本书涵盖内容太多了。其中第一册的内容跟《数字图像处理》差不多,第二册和第三册实际是根据不同领域来细分的,可以根据自己研究生方向来有选择性的学习。
3、在实践方面,openCV无疑是最好的入门开发库,大部分实际项目都会使用到openCV库,这个库实现了大部分的图像处理算法,包括常用的神经网络都有实现。考虑到题主本科是CS专业,C/C++应该有一定的基础,所以openCV的学习也尽量选择C/C++的版本吧,毕竟在实际的项目中,考虑到性能和部署,openCV的使用都会使用C++。
4、更加深入的原理实践,可以参考本人的技术专栏。在这个专栏中,直接使用C语言,不依赖于任何第三方库,实现了大部分的传统图像处理算法。这个专栏特别适合有C语言基础的新手入门,通过对于图像像素数据最基本的操作,来理解整个算法的真正原理。
华叔-视觉魔术师:图像算法原理与实践——绪论总之,图像处理算法,要将理论和实践结合起来,每学习一个算法的时候,尽量尝试不依赖任何第三方库,用C语言实现整个算法,这样才能真正的对算法理解透彻。
页:
[1]