本文主要是介绍VS2008 + Opencv2.1 读取图片像素输出至Excel文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
系统环境:
win 7 + VS2008 + Opencv2.1 + Excel 2010
思路:先通过Opencv库函数读取图片存储至IplImage结构体中,接着通过OLE/COM方式实现对excel文件的写入,对多个单元格的读写操作可以通过CRange中以下两个成员函数来完成。VARIANT get_Value2(); void put_Value2(VARIANT& newValue); 其中,输入参数newValue只要输入一个二维数组,即可实现向Excel中一次写入多个单元格的值。前提是程序能够通过识别图片的大小而设置二维数组的起始点,举例来说,Excel 2010 里一共有1048576行, XFD列,X是26个字母中第24个字母,F是第6个,D是第4个,因此XFD对应的是 24*26*26+6*26+4=16384,图片的高度即Excel中的行数,将图片的宽度对26进行取商求余的操作可得到由字母表示的对应的列数。
操作过程:
1、新建C++工程
新建自己的C++工程。
2、添加Excel类库
在工程名上右键,选择Add---Class,选择MFC Class From TypeLib,如图:
然后添加如图的几个类。
3. 修改头文件
进入刚添加进来的几个类头文件中将#import开头的这句注掉
// 从类型库向导中用“添加类”创建的计算机生成的 IDispatch 包装类
//#import "D:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE" no_namespace
// CApplication 包装类
4、修改提示的错误
将修改过的工程编译一下,出现如下错误:
这篇关于VS2008 + Opencv2.1 读取图片像素输出至Excel文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!