JPEG图像获取GPS数据
2015-10-26 21:09
148 查看
背景
周一来到实验室本来要做项目,这个月快到月底了,想赶快写,要不然导师就要催。导师突然交给任务,让完成一个基于c++的JPEG图像获取GPS数据的小程序,他说很小,很简单,让我赶快写。让我做的事情如下图:就是要获取如图所示的GPS数据。TUA,我哪会啊,根本是一头雾水啊,但是还是给应承下来。
准备工作
我准备了两个步骤:如何实现多文件选取的功能,将获取到的图像文件绝对路径存储;
如何对每个图像文件抽取GPS数据。
创作路径
我真是从百度到谷歌再到必应,不停的搜索,最终在csdn中找到了一个关于读取gps的实现文件,如下图,具体下载地址我忘了(不过我等会提供我的csdn下载地址,有点无耻啊):步骤1
三个关键:1. CFileDialog选中多个图像,需要加OFN_ALLOWMULTISELECT 属性;
2. dlg.m_ofn.nMaxFile = 500 * MAX_PATH; 设置选中的数目,这也是后来被接收程序的人提醒才发现的;
3. CArray(CString, CString) arrayFilename;用于获取图像选中图像的路径,相当于一个数组,循环迭代即可取出;(HINT:利用POSITION变量)
只要获得图像每一张的图像路径,剩下的只需迭代执行步骤二获取每张GPS数据即可。
一些杂碎的操作不介绍了,什么打开文件,关闭文件。。。。。
步骤2
其实这个说难不难,只要弄清楚JPEG的meta信息即可,我也不是太懂,只是找到GPS的meta,然后转换成double类型即可。取一个图:其实只用到了前两个,因为第二个就包括了经纬度的分和秒,他们是一起算的,后来拆成秒的。我太机智了。哈哈
碎语
1.我把程序设置成黑框消失,不用弹出那个讨厌的黑框框。设置两个地方,如下两个图:第一个去掉_console,第二个设置成系统模式。第三是把main改成winmain入口
2.出现Nafxcwd.lib;Libcmtd.lib;冲突定义,根据网上教程改成如下图所示:
这样就解决了问题
3.后来发现还出现图像gps数据发生文件分割的问题,后来想了下是因为我用时间作为文本的名称,在跨秒级时间处理的图像集,因为时间不同所以后来输出的文件相差秒级,因为使用此程序的人认为这不是问题,所以就没有处理这个小问题。
程序的下载地址
尾语
其实这里面没啥技术问题,就是忙了小半天,午觉都没说,写下来,发发牢骚,继续前进。我偶然发现我借的书《创新算法》竟然没有目录,无语了,第一次见那么奇葩的书。不过看起来感觉很棒,这周好好看。哈哈。。。相关文章推荐
- poi excel
- Java Swing 之JTable及其简单的用法
- Little Rooks(简单组合数学)
- Java Swing 之JTable及其简单的用法
- matlab学习
- 细读 php json数据和JavaScript json数据
- 菜鸟之路-06
- 注册、卸载系统服务
- 数据库的封装包
- 在VC6中调试MEX文件
- 不能坚定,回忆2003年
- Log4net中的RollingFileAppender z
- 每天被面试虐一点点(二)
- DSAPI.dll函数查看器
- C语言实现栈
- 教学目标的表述方式──行为目标的ABCD表述法
- JSP的学习(2)——语法知识一
- 51nod 1010 只包含因子2 3 5的数 (打表+二分)
- 第十四周第一天
- POJ 1651 Multiplication Puzzle(区间DP)