OpenCV学习笔记 + 环境搭配

本文记录了在VS和QT环境下配置OpenCV的过程,包括创建工程、编写代码、环境配置及遇到的问题。VS中通过属性管理器设置环境,测试读取图片功能;QT配置相对复杂,需要处理CMake错误和下载特定文件。作者建议VS+OpenCV组合更为便捷,但QT中存在与OpenCV函数名冲突的问题。
摘要由CSDN通过智能技术生成

OpenCV学习笔记

工程逻辑:

1、创建工程项目

(1)创建工程文件夹

(2)导入相关资源

(3)使用CMake编写

2、创建对应的代码源文件

(1)创建CMakeLists.txt

(2)创建montage.cpp

(3)创建工作目录build

VS + OpenCV环境配置

QT + OpenCV环境配置太恼火了,还是VS + OpenCV简单快捷,教程可参考链接

新建控制台应用/空项目,然后添加属性管理器。

属性管理器

“视图”->“其他窗口”->“属性管理器”,右键添加现有属性表。

img

环境测试,图片读取

#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char* argv[])
{
    Mat image;
    image = imread("E:/img.jpg");  //绝对路径或者相对路径
    imshow("TestName", image);
    waitKey(0);
    return 0;
}
  //resize设置图片尺寸;
    resize(image, image, Size(1920, 1080));

VS注释

先按 Ctrl - K 组合键,再按 Ctrl - C 组合键进行注释
先按 Ctrl - K 组合键,再按 Ctrl - U 组合键即可取消注释

spintf函数报错: error C4996: ‘sprintf’: This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

原因是Visual C++ 2019 使用了更加安全的 run-time library routines 。新的Security CRT functions(就是那些带有“_s”后缀的函数)

解决方法:将原来的旧函数替换成新的 Security CRT functions 即加上_s后缀,即spintf_s();

Mat特指2维矩阵

MatND是多维矩阵(>=3维)

但2.2以后它们被统一成Mat,Mat可以表示任意维矩阵,统一使用Mat就行了。

VS+ OpenCV感觉用起来不顺手,还是重新配置一下QT吧。

QT配置opencv

第二次configure基本都会报错,虽然最后显示的都是configure done,进度条往前翻,就会看见好几个标红报错的地方,不只这一个,有好几个报错,此处不一一列举:

在使用cmake编译时会在opencv下新建一个文件夹,我的是MinGW
在MinGW文件夹下找到CMakeDownloadLog.txt,内容大致如下

找到里面给出的网址1所指https://…,借个梯子然后下载,下载后放到2所指下E:/OpenCV454/opencv/sources/.cache/ffmpeg文件夹下面,该文件夹下原本也有几个文件,但是都是空内容,下载的文件名要与原本的文件名一致,改成3所指文件名:8862c87496e2e8c375965e1277dee1c7-ffmpeg_version.cmake。

其它报错同样处理,除了ffmpeg_version.cmake

注意

如果直接将网页内容复制下来写入自己创建的ffmpeg_version.cmake后,则仍然提示无法使用。需要直接在网页处右键点击另存为,这样保存后,再将这个cmake放在.cache相应的文件夹下,并将名称更改成对应的文件名一致即可。

其他的直接下载替换 。

下载都需要科学上网才行。推荐一波某宝,代下载,相当奈斯

测试程序:使用Qt显示图片

注意:从别的教程里直接复制代码可能运行会报错,因为经常在复制的时候会粘贴一些看不到的字符,建议自己手打一遍程序。本人就是直接复制粘贴,然后程序跑步起来,自己手敲一遍就可以了。

QT环境配置是没问题了,但是好多opencv函数在QT里面有同名的,但是用法不一样,还得自己一个个改。算了,我还是回到VS吧。

是的,反复横跳就是我。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值