图像处理基础知识

时间:2011-07-18 12:53:43

标签: c++ image visual-c++ image-processing image-manipulation

我打算在图像处理方面做一个项目,我对这个课题的了解程度很低。我的首选语言是C ++。

这里的成员可以给我:

  1. 简介图像处理是什么?
  2. 我应该咨询哪些书籍[请记住我是初学者,我只对制作大学项目感兴趣]
  3. 我可以使用哪些图书馆? [我知道Boost / OpenCV等。我想知道什么是最简单的,可以让我的项目快速完成 - 这是一个小项目]
  4. 除了以上3点之外,如果告诉我,我应该知道的任何事情都会有很好的帮助。在此先感谢。

5 个答案:

答案 0 :(得分:5)

我建议你读一本好书。图像处理不是编程领域 - 它是一个工程领域,它涉及数学和信号处理知识和直觉。 Gonzalez and Woods Image Processing非常好,在开始阅读之前不需要大量的信号处理知识。最重要的是你不学习图像处理,就像你学习一门新的编程语言一样;你会像一个刚刚涉及编码的全新主题一样学习它。要将其分解为您的问题的答案,

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

  2. 我上面提到的这本书真的很棒。如果它对你来说有点贵,我总觉得它很有用,去亚马逊并寻找一本价格便宜的旧版旧书,主题为五星评级。从来没有让我失望过。要小心拿到太旧的书。

  3. 这个任务有很多库,其中一些是Boost / CImg,它实际上取决于你编写的平台。但是,我认为图像处理项目涉及任何库,而是你自己编写图像处理过滤器和其他操作符 - 这就是它的本质。您很可能会使用算法库来加快计算速度。图像处理项目不是软件项目;相反,它是一个工程项目,使用库将完全扼杀目的。当然,这是我的拙见。

答案 1 :(得分:2)

回答3:CImg可能是快速入门的好选择。

答案 2 :(得分:1)

  1. 以获得所需效果的方式修改图像数据(例如,将彩色图像更改为黑白图像)。
  2. 非常广泛的问题,答案取决于你想做什么。
  3. 查看GraphickMagickImageMagick

答案 3 :(得分:1)

  1. 图像处理很多是关于数学的,特别是矩阵操作和更先进的处理,Fourrier变换。

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

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

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

  5. 最大

答案 4 :(得分:1)

Altough old,I trink Digital Image Processing由K. Pratt开始是一个很好的选择(获得常用技巧的要点),但你不应该用C ++学习;具有良好图像处理工具箱(如MATLAB)的高级语言更适合尝试算法(有时需要大量使用复杂的数值方法)。