计算机视觉与图像处理学习笔记(二)win32+mingw+opencv搭建
来源:互联网 发布:html编程语言 编辑:程序博客网 时间:2024/05/18 00:00
本来是想接着第二章学习的,但是感觉理论性有点强,了解基本概念后还是从Opencv来,遇到问题再切换。
关于opencv的下载与配置参考:
http://opencv.org/downloads.html
http://wiki.opencv.org.cn/index.php/Codeblocks_MinGW_openCV codeblocks下
配置的过程真是困难重重,许多教程就是睁着眼睛说瞎话,我配置的主要流程如下:
1.下载解压opencv;
2.下载安装cmake;
由于最新版本的opencv只有vs10,vs11,vs12,所以需要用cmake自己制作mingw版本的opencv库。
详细原因见:http://blog.csdn.net/goomaple/article/details/45649305
3.使用cmake调用mingw去编译下载下来的OpenCV源码,详细步骤参见上一步的博客链接。
这里遇到的主要问题是在configure的时候无法通过,要注意mingw版本和opencv版本的一致,我刚开始就是因为mingw版本太老搞了好久。还有就是路径不要包含中文。最后如果在mingw32-make的时候发现'BTNS_AUTOSIZE' was not declared in this scope这种错误,需要在mingw的bin文件夹下修改commctrl.h文件。
详细修改方法见:http://stackoverflow.com/questions/27663558/opencv-win8-1-mingw32-source-code-error-tbbuttoninfo-was-not-declared-in-this
我发现网上的许多教程在这一步都有意无意的带过许多重要细节,并不敢确信“写”这些教程的人真的是原创的文章。
4.做到这里成功用mingw编译了opencv库,后面就是按照网上的传统教程进行下去,主要是环境变量的设置和库的添加,并没有遇到太大的困难。
配置完opencv,测试第一个程序:参考了http://blog.csdn.net/poem_qianmo/article/details/19809337这篇文章里的测试程序。
#include<iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>using namespace cv;int main(){ // 读入一张图片(游戏原画),可自己设置路径 Mat img=imread("C:\\Users\\Administrator\\Desktop\\psb.jpg"); // 创建一个名为 "游戏原画"窗口 namedWindow("游戏原画"); // 在窗口中显示游戏原画 imshow("游戏原画",img); // 等待60000 ms后窗口自动关闭 waitKey(60000);}最后效果如图
说实话,用mingw学习opencv的人本来就少,配置的过程中也看了很多博客、论坛什么的,之所以看了这么多,就是因为很多作者并不负责,不知从哪里拉了一段过来就说自己原创,导致我们这些初学者实践起来并不是这么回事,走了很多弯路。
希望大家都能从这篇文章中受益。
转载注明出处: http://blog.csdn.net/accepthjp/
- 计算机视觉与图像处理学习笔记(二)win32+mingw+opencv搭建
- 计算机视觉与图像处理学习笔记(三)opencv的基本数据类型与简单图像处理函数
- 计算机视觉与图像处理学习笔记(一)
- opencv计算机视觉学习笔记二
- 图像处理与计算机视觉学习资源
- 《opencv3编程入门》之一:图像处理、计算机视觉与opencv
- 计算机视觉与图像处理
- 计算机视觉笔记(二)图像处理(1)图像、滤波、边缘检测、车牌识别、SVM
- 计算机视觉与图像处理(一)——卷积与opencv
- OpenCV(三)回归计算机视觉,对图像平滑处理
- OpenCV-图像处理和计算机视觉
- MATLAB 图像处理与计算机视觉学习(1)图像基本信息获取(I)
- 图像处理与计算机视觉的论文创新点总结(二)
- [计算机视觉:算法与应用]学习笔记一:图像形成
- (二)图像坐标:我想和世界坐标谈谈(B) 【计算机视觉学习笔记--双目视觉的几何框架系列】
- (二)图像坐标:我想和世界坐标谈谈(B) 【计算机视觉学习笔记--双目视觉的几何框架系列】
- 机器视觉学习笔记--二值图像处理
- 计算机视觉、图像处理学习资料汇总(转)
- 明确指定+两种自动将行内元素变成块级元素的方法
- iOS 9 更新速度快
- Android 四大缓存框架之-Universal-Image-Loader
- 变量、作用域及内存
- 把SQL语句比较基础的整理了一下
- 计算机视觉与图像处理学习笔记(二)win32+mingw+opencv搭建
- SQL中char、varchar、nvarchar的区别
- Java Tomcat 启动异常
- 使用Docker模拟ansible集群环境
- 科研 游泳 数模 考研
- ubuntu build gstreamer for android
- mysql命令行下的编码转换查询
- 实现状态栏全沉浸以及兼容低版本半透明沉浸
- 信息融合(Informationsfusion)-前言