博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codeblocks配置opencv4.1.1
阅读量:2051 次
发布时间:2019-04-28

本文共 2001 字,大约阅读时间需要 6 分钟。

使用VS配置opencv较为容易,可直接使用官方提供的文件配置即可,而VS太过臃肿,比较喜欢Code Blocks这种较轻的IDE,于是便想动手搞一个。

了解过后才知道要再Code Blocks里配置opencv,就必须自己编译,与时经过前前后后将近一个星期、科学上网听满嘴咖喱味的老哥提供的教程,反复排错后终于搞定了。

opencv4.1.1源码下载后经cmake与codebooks编译后的链接配置源文件,注意,是64位的!!!见:https://download.csdn.net/download/hxm_520/18802146

codeblocks自行下载安装,注意配置好编译器,建议下载mingw版,省的配置,不要下载mingw-32bit后缀版本的,貌似opencv不支持32位编译(待求证)。

下面开始配置:

1 解压Opencv411_codeblocks-mingw_install.rar至D:\,这里解压路径随意我放在根目录下了顺便给文件夹改了个名字为OCV411_CDB,具体随意,记住就行

2 添加环境变量

右击此电脑-属性-高级系统设置-(系统变量)path-编辑-浏览,找到D:\OCV411_CDB\x64\mingw\bin,一路点确定即可。
在这里插入图片描述
3 配置codeblocks
3.1 打开codeblocks,设置-编译器设置(compiler settings)-全局编译器设置-链接器设置-添加-浏览(见下图),然后全选D:\OCV411_CDB\x64\mingw\lib下的.a 文件,确认即可
在这里插入图片描述
在这里插入图片描述
3.2 继续点击搜索目录-编译器-添加,将D:\OCV411_CDB\include与D:\OCV411_CDB\include\opencv2依次添加进去即可。
在这里插入图片描述
3.3 继续点击搜索目录-链接器-添加,将D:\OCV411_CDB\x64\mingw\lib文件夹添加进去即可。
在这里插入图片描述
4 测试安装效果
4.1 普通测试
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main(int argc, char *argv[])

{
//图片路径自己更改
//注意目录分隔符要使用”\“或”//",否则程序不识别并报错
Mat img = imread(“D:\lp\opencv-4.1.1\samples\data\lena.jpg”);
if(img.empty())
return -1;
namedWindow( “testshow”, WINDOW_FREERATIO );
imshow(“testshow”, img);
waitKey(0);
return 0;
}
运行效果
在这里插入图片描述

4.2 contrib包测试

SURF特征检测算法具有专利保护,只能用于学习与研究,不可用于商业用途

#include “opencv2/opencv.hpp”

#include “xfeatures2d.hpp”
#include
#include

using namespace std;

using namespace cv;
using namespace xfeatures2d;

int main()

{ //图片路径自主更改,注意更改分隔符
Mat img=imread(“D:\lp\opencv-4.1.1\samples\data\lena.jpg”);
if(!img.data)
{
cout<<“请确认图像路径是否正确!”<<endl;
return -1;
}

Ptr
surf=SURF::create(500,4,3,true,false); vector
Keypoints; surf->detect(img,Keypoints); Mat imgAngel; img.copyTo(imgAngel); drawKeypoints(img,Keypoints,img,Scalar(255,255,255)); drawKeypoints(img,Keypoints,imgAngel,Scalar(255,255,255),DrawMatchesFlags::DRAW_RICH_KEYPOINTS); imshow("不含角度和大小的结果",img); imshow("含有角度和大小的结果",imgAngel); waitKey(0); return 0;

}

运行效果
在这里插入图片描述
至此,结束,欢迎有问题再评论区讨论!

刚开始写博客,望各位海涵!

转载地址:http://wfulf.baihongyu.com/

你可能感兴趣的文章
使用 Go 从零开始实现 CNI 可还行?
查看>>
KubeSphere 3.1.0 GA:混合多云走向边缘,让应用无处不在
查看>>
Containerd 1.5 发布:重磅支持 docker-compose!
查看>>
基于 Kubernetes 的 Spring Could 微服务 CI/CD 实践
查看>>
5.15 相约上海!2021 年度首届云原生 Meetup | KubeSphere & Friends
查看>>
使用 Cilium 作为网络插件部署 K8s + KubeSphere
查看>>
万变不离其宗,性能优化也有章可循
查看>>
别再乱用 Prometheus 联邦了,分享一个 Prometheus 高可用新方案
查看>>
Litmus 实践:让群魔在混沌中乱舞,看 K8s 能撑到何时
查看>>
Prometheus 存储层的演进
查看>>
Kubernetes 边缘节点抓不到监控指标?试试这个方法!
查看>>
不对全文内容进行索引的 Loki 到底优秀在哪里
查看>>
太强大了!这些 Go 的难点问题都能解决!
查看>>
万字长文:K8s 创建 pod 时,背后到底发生了什么?
查看>>
后云原生时代,Kubernetes:你看我还有机会吗?
查看>>
Wintun:一款惊艳的 WireGuard 虚拟网卡接口驱动
查看>>
个人学习方法分享
查看>>
时隔多年。。终于有一款云原生消息系统出仕了!
查看>>
[译]数据包在 Kubernetes 中的一生(1)
查看>>
[译]数据包在 Kubernetes 中的一生(2)
查看>>