一门课程大作业需要使用opencv调用相关函数实现
但是我的笔记本没安装VS
机房电脑虽然安装了VS但是没安装opencv
安装过opencv的朋友们应该知道配置opencv有多么痛苦了吧
因为我已经在ubuntu上安装过了opencv
于是我使用了linux系统来运行opencv程序
~so easy!!
运行流程
新建一个文件夹,我的程序文件只有一个main.cpp
当然如果你包含其他头文件,配置方法要稍微难些,你可以查看我的这篇文章来看看如何写CMakeList来包含头文件
这里为了方便,我把头文件函数啥的全部写在了一个cpp文件里,这样就可以简单点拉
把我的数据文件放在了data文件夹里
在执行时将OpenCV的库包含进去,可以使用如下命令进行编译:运行:
g++ `pkg-config opencv --cflags` main.cpp -o opencv `pkg-config opencv --libs`
问题1
出现了void main()必须要有返回值的问题
因此把这句话改成int main(void)
就可以解决了
所有的return都必须带上值,改为
return 0;
运行成功之后会出现一个opencv文件
运行该文件
./opencv
弹出
发现居然乱码了
问题2
我的系统是支持中文的,但是这里出现问题,可以知道肯定是程序文件编码出现了问题
这里需要查看一下文件编码
这里借鉴的是这位大佬的一部分内容
查阅了资料,发现file方法不准确,跟vim方法结果不一样…
我使用vim方法查询出来是这样的
用file方法查询结果是这样
本想用vim方法修改编码,但失败了,iconv方法得查询之前的编码,有些麻烦
这篇文章讲的更简单
最后我用我自己的方法解决了这个问题
解决编码问题
找一个中文可以显示的cpp文件,拷贝过来,把里面的内容换成自己的就完美解决啦!
换个壳子~
最后重新g++一下,
成功运行