GDI+中的Bitmap类可以用来读取各种格式的图片文件,并对图片进行操作。下面内容主要应用到对图片中每个像素的处理。
应该要用到Curvelets来对图像进行处理,先说一下如何配置项目。
1. 先确认下Curvelets库的包中有dll和lib文件,还有几个头文件。另外的测试程序告诉你如何应用Curvelets的。
2. 新建一个MFC项目,将所有文件复制到项目目录下。项目属性中的链接器选项中,把lib文件名加入到“依赖项”中。将所有头文件加入MFC预编译头中。
3. 在应用Curvelets的时候,记得引用std命名空间和Curvelets的命名空间。
下面用几个代码段来说明如何应用Curvelets对图像进行处理。
假设现在在类(比如文档类)中有m_img为Bitmap,m_matrixR、m_matrixG、m_matrixB为CpxNumMat(复矩阵)。将图片文件读到m_img中,然后对每个像素进行处理,得到RGB颜色分量的三个复矩阵(由于RGB单个分量只是0到254而已,只用整数矩阵即可,但Curvelets只提供了复矩阵进行运算,而且和整数矩阵并没有继承关系,这点有点遗憾,因为整数当然是复数的特例啦)。之后对每个复矩阵进行Curvelets变换。反变换是此的逆过程就不再说明了。下面分别来看下。
1. 将图片文件读到m_img中

2. 对每个像素进行处理,得到RGB颜色分量的三个复矩阵
















3. 对复矩阵进行Curvelets变换








