有很多图形库让我们可以简单地调用函数来处理图像,那么这些图形库怎么写出来的呢?我这里介绍怎么单单用C/C++标准库来实现图像处理。

处理图像的主要三步骤是:读取图像文件—— &> 结合数字图像知识写演算法处理图像—— &> 保存图像到文件。(虽然只有三部分,但每一部分涉及的知识是庞大的。)

1、读取图像文件部分,图像最基本的存储格式是点阵图bmp,主要部分是一个(逻辑上)二维数组,用于存储对应像素点的颜色(通常为RGB格式)。还有其它各种的储存图像的格式,例如有损压缩的jpg等。处理图像通常先将其转化为点阵图再进行处理。所以第一步的关键就是了解各种格式的图像文件,用fopen、fread读入,将之转化点阵图——二维数组存储的图像再处理。

2、处理图像部分,这部分的关键是了解数字图像知识,写出相应高效的演算法处理点阵图图像。这里举两个简单的例子,1、"怎么切割图片只要上部分「,如果原图像是512*512的,你就准备新的512*256数组,将原图的上半部分复制入新数组即可。2、"怎么使图像整理变亮」这里运用到点运算,每个像素点加上一个常数,注意不要越界即可。3、最后就按照想要保存的格式fwrite,fclose保存即可。总结关键要掌握的知识是:1、了解各图像储存的格式。2、《数字图像处理》。3《演算法导论》。


图像处理可以关注下OpenCV,跨平台的图像处理库。图像切割怎么定义?画一条线将图像分成两张吗?如果是这样的话,可以把图像当作一个二维的空间。遍历这个二维空间里的每一点,判断它该属于分割后的哪一个平面。然后根据分割后的平面生成相应的图像。
首先你会用c++;其次你会在linux用c++;

第三你要了解图像是怎么回事,会写一些常用 的图像演算法程序。

第四你要学会使用一些库,比如opencv等。


推荐阅读:
查看原文 >>
相关文章