由于这个库主要用于VC MFC下开发应用,因此目前可以下载到版本只支持MFC开发。如果您需要标准Win32的库,可以在回复时留下您的邮箱,或跟我联系。
Email:wuchunlei@163.com
QQ:81954377258KB
共
本小节所涉及的源程序:
http://www.5941ts.com/EasyAnalysis/demo/2/TestDll.rar
一.EasyAnalysis库文件组成
文件解压缩后,共有两个文件夹,分别是Include和Lib 。其中Include文件夹中包含了所有需要用到的头文件,看似Include中的文件很多,实际上再使用的时候只需要加载一个头文件就OK了,不用担心。Lib文件夹中为编译好的dll,lib文件。
二.导入EasyAnalysis库
1. 建立一个名为TestDLL的MFC工程。选择应用程序类型为“基本对话框”类型。
2. 将Include文件夹和Lib中的Dll和Lib文件拷贝到工程的根目录下。
3. 在TestDllDlg.cpp文件中添加如下代码
编译运行。如果程序没有报错,那么说明EasyAnalysis库已经成功添加到程序中了。
#pragma comment(lib,” EasyAnalysisDLLMFC.lib”)
4.
三.编写第一个程序
现在我们实现上一小节提到的那个程序,即对图像进行Sobel变换然后显示在Dialog上。
1. 打开上面生成的工程
2. 在资源中双击Dialog窗体上的OK按钮,在消息影射函数OnOK中添加如下代码
运行程序,单击OK。
m_Bmp.CreateImage("test.bmp");
CEdge m_Edge(&m_Bmp);
m_Edge.Sobel();
CWindowGraph m_Graph(GetDC());
m_Graph.SetImage(1,1,m_Bmp.GetHeight(),m_Bmp.GetWidth(),m_Bmp.GetBits);
3.
怎么样?是不是看到一副二值化过的图像被显示在对话框窗口上了?
注:如果运行时程序提示找不到DLL文件,请检查是否将EasyAnalysisDLLMFC.DLL文件拷贝到了工程根目录下。
由于EasyAnalysis库异常处理机制为try…catch方式,而库中产生的所有异常都回抛出CPException对象。因此为能让程序更加稳定,我们在上述代码中添加异常处理的代码。并将处理好的图像保存为Test1.bmp
{
CBmp m_Bmp;
m_Bmp.CreateImage("test.bmp");
CEdge m_Edge(&m_Bmp);
m_Edge.Sobel();
CWindowGraph m_Graph(GetDC());
m_Graph.SetImage(1,1,m_Bmp.GetHeight(),m_Bmp.GetWidth(),m_Bmp.GetBits());
m_Bmp.SaveData(“Test1.bmp”);
}
catch(CPException &err)
{
int nErrCode=err.GetErrCode(); //取错误类型代码
MessageBox(err.GetErrMsg()); //弹出错误信息
}
原始图片和出处理结果见下图: