智能账单统计软件开发日志1 立项与环境配置

立项

因为绑定校园卡的 APP 中账单统计功能并没有给出月消费总额,并且考虑到这样一个功能可以利于用卡者更好地管理自己的消费,并且这样一个图像识别、处理算法能够应用在诸多领域,决定立项。计划的功能为导入校园卡账单截图后能够统计出总消费,并尝试将每一笔消费的金额与消费信息对应起来。

环境配置

原来是计划用 VB6 的,但是 VB6 对大图处理的效率不够高,所以改用 C++ 与 OpenCV 组合的模式。OpenCV 只对 Visual C++ 有支持,而大小和所需功能平衡之下的最优选择 Visual Studio 14 和 15 都占用 6G 以上的储存空间,且对开发环境要求较高。于是改用 Dev-C++ 这个 IDE,因为没有适配,只能自己进行安装。
此处参考了 https://blog.csdn.net/tuwenzan/article/details/80513198,下载 OpenCV 的源码自行编译,编译过程中,程序执行到一半,报错 D:/Program 不是内部或外部命令,也不是可运行的程序或批处理文件。很明显, 由于 D:Program Files 文件夹路径存在空格,导致问题。将编译器复制到 D:/ 后,问题仍然存在。检查 Makefile,发现是路径已经写入 Makefile。于是重新编译 Makefile,问题解决。
然后编译好后在工程中加入对路径的引用,使用 OpenCV 的 samples 文件夹中附带的演示文件,一直报错 undefined reference。手动编写一个测试文件,成功通过编译。因为部分需要下载的库因网络问题无法下载,因此跳过了这些库,怀疑是演示文件引用了这些库中的某些内容。

环境配置测试

环境配置测试较为顺利,唯一的一点是编译器未能读出一个 Enum 的值,进而常量无法用变量名表示,只能从库中找出来。
较为有意思的是,OpenCV 的灰度转换会将程序自身图标也换成灰度的。

#include "opencv2/opencv.hpp"
#include "opencv2/imgproc.hpp" 
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc/types_c.h"//Get consts from here
int main()
{
	cv::Mat srcImage=cv::imread("desktop.png"),srcGray;
	if(!srcImage.data) return 1;
	cv::cvtColor(srcImage,srcGray,7);
	cv::imshow("GrayImg",srcGray);
	cv::waitKey(0);
	return 0; 
}

输出图片

灰度后输出图片

小结

至此,OpenCV 的环境配置结束,成功将其在一个轻量级 IDE 上部署,基本功能已经能够正常使用了。

无特别声明的情况下,本文为原创文章,允许转载,采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
在声明禁止转载的情况下,请勿转载;若本文章为转载的文章,版权归原作者所有。
如果您觉得本文写得好,请点击下方的推荐按钮~若您有任何建议和指正,请在下方留言,对于您的指正将不胜感激。
原文地址:https://www.cnblogs.com/ksyx/p/bill-stat-log1.html