VC编程对实时图像的处理 20

本人刚接触VC,现在想用相机实时采集图像然后进行实时处理,一方面对于这个处理的过程哪些细化的步骤不清楚,另外就是对于单帧图像的提取处理也不明白;还有就是想要保存为bmp格... 本人刚接触VC,现在想用相机实时采集图像然后进行实时处理,一方面对于这个处理的过程哪些细化的步骤不清楚,另外就是对于单帧图像的提取处理也不明白;还有就是想要保存为bmp格式的图像。熟悉这方面的大神给予指点,通俗易懂点。最好加上代码语句,让我看一下。 展开
 我来答
手机用户06411
2014-07-25 · 超过67用户采纳过TA的回答
知道答主
回答量:137
采纳率:0%
帮助的人:184万
展开全部
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中包含这个算法类的头文件,就可以使用这个算法类的所有接口了。
追问
这个我之前也看了,不过我需要他回答的第二步和第三步更详细的说明,谢谢。
匿名用户
2014-07-26
展开全部
个人意见,如果你不是想了解各种图形文件细节的话,建议你直接用CxImage类库,成熟的库,支持BMP JPG PNG GIF等格式读写,绝对够你用,并且能在各种格式之间转换

另外CxImage类库有源码,里面有好一些图像处理,放大缩小,旋转,模糊等基本变换 你可以直接用来学习
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式