2011-07-18 84 views
5

我正计划做一个关于图像处理的项目,我在这方面的知识一般都很低。我的首选语言是C++。图像处理基础知识

成员在这里可以给我:

  1. 什么图像处理是一个简单的想法?
  2. 我应该咨询哪些书[请记住,我是一名初学者,只对制作大学项目感兴趣]
  3. 我可以使用哪些图书馆? [我知道升压/ OpenCV的等等。我想知道什么是最简单的,可以让我的项目快速完成 - 它的一个小项目]
从以上3点

除此之外,任何事情我应该知道,如果被告知对我来说会有很好的帮助。提前致谢。

回答

5

我建议读一本好书。图像处理是而不是一个编程领域 - 它是一个工程领域,它涉及到数学和信号处理的知识和直觉。 Gonzalez and Woods Image Processing非常好,在开始阅读之前不需要大量的信号处理知识。底线是你不像学习一门新的编程语言那样学习图像处理;你将它学习为一个刚刚涉及编码的全新主题。为了打破这一成问题的答案,

  1. 图像处理的数字信号处理的一门学科,它本身是在计算机科学的交叉与应用数学。它涉及基于像素的图像操作,用于图像增强(颜色和对比度校正,去噪,去模糊),视觉效果(空间失真,变形,颜色替换),人工视觉(特征提取,纹理分割,模式识别,空间感知)。还有很多应用领域很窄的图像处理领域,如雷达图像处理,医学图像处理等。

  2. 上面提到的这本书确实是一本很棒的阅读。如果你对我来说有点贵,我总觉得它对亚马逊很有用,并且寻找一本价格低廉的旧版本,用五星级评估这本书。从来没有让我失望。谨防获取太旧的书。

  3. 这个任务有很多库,Boost/CImg就是其中的一部分,它的确依赖于你编码的平台。但是,我认为一个图像处理项目而不是涉及任何库,相反,您将自己编写图像处理过滤器和其他操作符 - 这是它的本质。尽管为了加快计算速度,您很可能会使用算法库。一个图像处理项目不是一个软件项目;相反,这是一个工程项目,使用图书馆将完全消灭目的。当然,这是我的愚见。

+0

很好的答案。对于其他SO用户的未来参考:Gonzalez和Woods第3版的国际版可以低至30美元。网站http://www.addall.com/是检查多家书商的良好来源。 – Rethunk

2

回答到:3可能CImg是一个不错的选择,以快速启动。

1
  1. 修改图像数据以获得所需的效果(例如,将彩色图像更改为黑白图像)。
  2. 非常宽泛的问题,答案取决于你想要做什么。
  3. 看看GraphickMagickImageMagick
1
  1. 图像处理了很多关于数学,并且是特定的矩阵操作和在更先进的加工,傅里叶变换。

  2. 图像处理是在它的基本定义,图像处理,无论操作是(或者颜色操作,特征提取,增强,...)。图像处理是不同于计算机图形(2D和3D)

  3. 我会假设访问您当地的大学图书馆,他们应该有图像处理,算法和所有爵士乐的现有参考。您必须决定(与您的大学教授/顾问)您想要探索的图像处理的哪一部分。

  4. 看一看ImageMagick的库(等等),它提供了一个很好的包开始学习图像处理;源代码可用)。

最大。

1

Altough的时候,我TRINK Digital Image Processing由K.普拉特是一个不错的选择开始(以获得共同的技术梗概),但恕我直言,你不应该使用C++学习;具有良好图像处理工具箱(如MATLAB)的高级语言对于尝试算法(有时需要大量使用复杂数值方法)要好得多。