opencv系列

前言

自从五月份换了一个工作,也仅仅写了一个APP,然后看了一个leveldb源代码,仅仅看了部分,具体关于内存操作的部分,还跳过去了,live555这套代码的核心部分,也就是视频的编解码部分,也不是很透彻,ffmpeg更是内容根本没有详细看,仅仅了解下调用接口罢了,对Linux的编译环境也花了一段时间进行了了解(因为我一直喜欢Linux,并且在看ffmpeg过程中,对编译环境-makefile进行了比较详细的了解)。我的2017年就这样过去了。内心还是很是惶恐的。计划在这个春节前,做一件事让自己稍微安心一些-准备了解下opencv的借口调用。有时间了解下opencv中机器学习的源代码。

正文

关于opencv的学习计划,本来准备找本书好好看看,可是我觉得这些不能满足我的需求,我们直接看官方的一些demo,虽说比较多,可是我们耐着心.但是代码比较少,我相信我们可以完成。具体链接是opecv官方教程
安装和开发环境配置,这里不在详细介绍。因为这个系列暂时不涉及源码阅读,我这里没有用vs配置开发环境测试代码我有vs和Linux的g++。
首先我们第一篇进行helloworld的教程,对于opencv,显示一个图片就是向这个图像的世界的问好,我们看下代码

#include<iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  


using namespace cv;  


int main()  
{  
    // 读入一张图片(游戏原画)  
    Mat img=imread("timg.jpeg");  
    // 创建一个名为 "游戏原画"窗口  
    namedWindow("游戏原画");  
    // 在窗口中显示游戏原画  
    imshow("游戏原画",img);  
    // 等待6000 ms后窗口自动关闭  
    waitKey(6000);  
}

而我们的目录有三个文件
这里写图片描述
makefile这是sample中自带的,只要改变一些文件名字就ok,这里不在详细介绍,图片是我自己随便找的,最终效果图是:
这里写图片描述
这里我们稍微分析一下:Mat是一个类,保存这图片的信息,这里我强调下,图片在计算机中模型就是一个二维的数组,Mat包含了一个二维数组。这里就不在详细了解。但是这是一个通过智能指针维持的一个类,不用纠结内存的管理。
第二个问题是imread("timg.jpeg")这个东西是一个函数调用,里面封装了对图片的解码工具,可以提供路径返回opencv可以处理的Mat数据。
剩下的代码这里就不再详细介绍,因为这就是提供了一个窗口管理系统(这是可以兼容的,背后还是封装了好些内容,不过这不是我们的重点)。

后记

这里很简单的谢了一篇文章,作为一个开头,希望可以通过这个开头让我可以在这个残缺的2017年中有所完整的东西留下来。2018年我要比今年好。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值