VC编程对实时图像的处理 20
本人刚接触VC,现在想用相机实时采集图像然后进行实时处理,一方面对于这个处理的过程哪些细化的步骤不清楚,另外就是对于单帧图像的提取处理也不明白;还有就是想要保存为bmp格...
本人刚接触VC,现在想用相机实时采集图像然后进行实时处理,一方面对于这个处理的过程哪些细化的步骤不清楚,另外就是对于单帧图像的提取处理也不明白;还有就是想要保存为bmp格式的图像。熟悉这方面的大神给予指点,通俗易懂点。最好加上代码语句,让我看一下。
展开
2个回答
展开全部
MFC中没有图像处理这方面的函数,图形方面的类为CDC。
(1)至于图像采集:那么现在操作系统对于数字相机的内存读取就像在本地读取一样,所以只要通USB数据线连接于计算机后,就是读文件的问题。推荐你使用C++的STL中的文件输入输出流对象:
在头文件stdafx.h中包含如下头文件即可使用了
#include<fstream>
using namespace std;
// 使用的时候
ifstream inFile;// 文件到内存
ofstream outFile;// 内存到文件
(2)读文件的时候你要解码图像文件格式(如bmp,jpeg),推荐你到网上下载专用的图像文件解码软件包,当然你也可以自己做。图像文件=图像头+图像数据
(3)提取出每帧图像的图像数据内存,进行你自己的处理(你需要自己编写图像处理算法函数,并调用)
(4)然后再把处理后的图像数据内存+相关的头信息,存入外部存储设备(如硬盘)
总结:大体上你项目是中等复杂度的,MFC所能提供的是一个主体应用架构和界面表现,具体的功能需要你自己去设计与实现,而那些部分是基本没有现成的(呵呵,也许你可以从网上download些基本图像算法函数)。
对于补充问题:
(1)最好是做一个标准的Windows API(便于以后跨语言调用,当然如果你工程实现技术有点困难,就做成一般的C++ DLL也可以,这样只有C++语言的应用程序才可以使用,有一定限制,不过对于你的问题也是足以解决了)算法组件(DLL形式),这样便于你以后在别的应用项目中复用这个组件。MFC里面任何函数里面都可以调用到你的DLL接口。方法是:(1)包含其头文件;(2)使用#pragma comment(lib, "YourDll.lib"),并在工程属性中设置lib文件路径以确保编译器可以找到YourDll.lib;(3)把DLL放到可执行文件目录下或系统目录下;(4)然后你就可以像调用自己内部函数一样去调用dll中函数接口了。
(2)当然你如果直接在MFC里面做一个自己的算法类也是可以的(往工程里加入相应头文件,和实现文件),然后在stdafx.h中包含这个算法类的头文件,就可以使用这个算法类的所有接口了。
(1)至于图像采集:那么现在操作系统对于数字相机的内存读取就像在本地读取一样,所以只要通USB数据线连接于计算机后,就是读文件的问题。推荐你使用C++的STL中的文件输入输出流对象:
在头文件stdafx.h中包含如下头文件即可使用了
#include<fstream>
using namespace std;
// 使用的时候
ifstream inFile;// 文件到内存
ofstream outFile;// 内存到文件
(2)读文件的时候你要解码图像文件格式(如bmp,jpeg),推荐你到网上下载专用的图像文件解码软件包,当然你也可以自己做。图像文件=图像头+图像数据
(3)提取出每帧图像的图像数据内存,进行你自己的处理(你需要自己编写图像处理算法函数,并调用)
(4)然后再把处理后的图像数据内存+相关的头信息,存入外部存储设备(如硬盘)
总结:大体上你项目是中等复杂度的,MFC所能提供的是一个主体应用架构和界面表现,具体的功能需要你自己去设计与实现,而那些部分是基本没有现成的(呵呵,也许你可以从网上download些基本图像算法函数)。
对于补充问题:
(1)最好是做一个标准的Windows API(便于以后跨语言调用,当然如果你工程实现技术有点困难,就做成一般的C++ DLL也可以,这样只有C++语言的应用程序才可以使用,有一定限制,不过对于你的问题也是足以解决了)算法组件(DLL形式),这样便于你以后在别的应用项目中复用这个组件。MFC里面任何函数里面都可以调用到你的DLL接口。方法是:(1)包含其头文件;(2)使用#pragma comment(lib, "YourDll.lib"),并在工程属性中设置lib文件路径以确保编译器可以找到YourDll.lib;(3)把DLL放到可执行文件目录下或系统目录下;(4)然后你就可以像调用自己内部函数一样去调用dll中函数接口了。
(2)当然你如果直接在MFC里面做一个自己的算法类也是可以的(往工程里加入相应头文件,和实现文件),然后在stdafx.h中包含这个算法类的头文件,就可以使用这个算法类的所有接口了。
追问
这个我之前也看了,不过我需要他回答的第二步和第三步更详细的说明,谢谢。
2014-07-26
展开全部
个人意见,如果你不是想了解各种图形文件细节的话,建议你直接用CxImage类库,成熟的库,支持BMP JPG PNG GIF等格式读写,绝对够你用,并且能在各种格式之间转换
另外CxImage类库有源码,里面有好一些图像处理,放大缩小,旋转,模糊等基本变换 你可以直接用来学习
另外CxImage类库有源码,里面有好一些图像处理,放大缩小,旋转,模糊等基本变换 你可以直接用来学习
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询