读《opencv3编程入门》书:

opencv是由一系列C函数和C++类构成,拥有包括500多个C函数的跨品台的中高层API。它不依赖于其他的外部库——但如果有需要,也可以使用某些外部库。

学到opencv基本框架分析时,作者建议先安装opencv软件,通过opencv文件夹来管中窥豹,于是我开始安装OpenCV。

安装OpenCV

(留个疑问,使用opencv,必需要装VS环境吗?不是可以基于python吗?)

①配置visual studio 2010 环境

找到该网址:http://c.biancheng.net/view/458.html,进行下载安装VS2010旗舰版

(血与泪的教训告诉我:只装C++!!!!!)

②下载安装opencv

在opencv官网https://opencv.org/releases/下载2.4.9版本(比较老了),按照书上的安装姿势。

(一开始安装了较新的版本,但发现原来opencv版本与VS版本需要对应关系,于是又卸掉重装)

③配置opencv

就是跟着书一点一点配置,运气不错,一次成功。

opencv如何下载 opencv文档下载_opencv如何下载

了解OpenCV框架

一步步走的缓慢,但坚持住。
作者通过opencv安装包中的的文件为线索介绍了OpenCV的框架,特别介绍了OpenCV2中所有组件的宏,发现里面好多功能,机器学习、目标检测、GPU加速、图像恢复…,先知道一下就行,以后根据需求再细看。

OpenCV程序复现

图像操作:
Mat 是opencv中的一种图像类型
①读取显示
②图像腐蚀
③图像模糊
④边缘检测

头文件、命名空间
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
Mat imageName = imread("1.jpg");
imshow("随便在图像框上取个名字",imageName);

视频操作
VideoCapture 是opencv中的一种视频类型
①读取显示:
代码思想是先用VideoCapture读取视频,然后定义Mat存储视频的帧,再利用while语句imshow每一帧,达到读取视频的效果。

#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
    VideoCapture capture("1.wmv");
    while(1)
        {
           Mat frame;
           capture>>frame;
           imshow("读取视频",frame);
           waitKey(30);
{
     return 0;
}

②摄像头实时读取显示:

将上一个代码中的

VideoCapture capture(“1.wmv”);

改为:VideoCapture capture(0);

opencv如何下载 opencv文档下载_OpenCV_02

③摄像头实时读取并做处理显示:

思路很简单,在读取每一帧的时候做图像处理(比如:边缘检测…),这个思想解开了很多疑惑,现在流行的“美颜视频、搞怪视频”,应该也是基于这种思想。

opencv如何下载 opencv文档下载_ide_03

在晚上的时候,自己将上述的简单代码默写了出来。