我该怎么用VC++进行图像处理,迷茫中,望各位大侠帮忙指导下

2025-01-07 05:22:47
推荐回答(6个)
回答1:

不知道你是想达到什么样的结果。
图像处理本身是一门专业,与使用什么样的开发语言无关。

如果仅仅是想在窗口上绘制图片,可以用Gdi+。
//放在头文件中
#include "GdiPlus.h"
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib")

//放在窗口类的声明中,作为类的一个成员变量
ULONG_PTR m_gdiplusToken;

//GDI+的初始化,放到窗口类构造或初始化函数中
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup( &m_gdiplusToken, &gdiplusStartupInput, NULL);

//GDI+ 的反初始化,如果不再需要使用GDI+的话。放在窗口类的析构或关闭函数中。
GdiplusShutdown( m_gdiplusToken );

//需要绘制图片的时候:
//这是最简单的使用方式,详细的参数和使用方式请参阅MSDN
Image imgFile( L"C:\\abc.bmp" );
Graphics grpWnd( m_hWnd );
grpWnd.DrawImage( &imgFile, 0, 0 );

如果你是想做比较复杂的图像特效,那么其实只与算法有关,除此之外就是多了解一下位图格式。这方面与使用何种语言没有任何关系,只是算法的具体实现与语言相关而已。

C/C++由于指针操作很方便,在做图像算法方面,基本上是运行效率最高的了。

读写文件方面,除非用现成的类,否则都要写一堆代码。光是写一个Bmp文件,填空文件头和BMP头就要好几行,这是任何语言都无法避免的。

回答2:

图像处理本来就是另一门专业和C++编程不是一码事。

最基本的就是要学好数学,矩阵。

如果不是专门要研究图像处理的话建议直接使用现成的图像库。

OpenGL, DirectX, 或者CxImage

回答3:

vc++做图像处理本来就是一件有难度的事。
正如你说的,一开由于没有基础,要自己读图到矩阵,可是你想想,也就是第一次难啊,以后这些代码都可以重用。
才投入几天时间不算啥,耐心点,我们做这个都好多年了。

回答4:

VC++图片、多媒体处理全集。
http://www.vcplusplus.com/cn/content/tu-xing-%2Ctu-xiang-yu-duo-mei-ti
系统介绍图像、多媒体的文章与部分源码。

回答5:

其实图像处理并不难 , 很简单 那是因为你刚用 不明白
多看点实例 动动手 一切就OK了

回答6:

还是要多看书,最好能找到一些简单的例子进行练习由易到难慢慢的来,逐步熟悉各个类的作用和用法。