本文共 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 #includeusing 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; }Ptrsurf=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/