第2天 OpenCV头文件概览与打开avi视频范例

参考书籍:《学习OpenCV3》

1. 头文件概览

1.1 汇总型头文件 <opencv2/opencv.hpp>

1.2 opencv.hpp包含OpenCV各个模块的头文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "opencv2/core.hpp"//结构和数学运算
 
#include "opencv2/calib3d.hpp"//校准以及双目视觉相关
 
#include "opencv2/features2d.hpp"//用于追踪的二维特征
 
#include "opencv2/dnn.hpp"//深度学习函数
 
#include "opencv2/flann.hpp"//最近邻搜索匹配函数
 
#include "opencv2/highgui.hpp"//显示、滑动条、鼠标操作以及输入输出相关
 
#include "opencv2/imgcodecs.hpp"//图像输入输出函数
 
#include "opencv2/imgproc.hpp"//图像处理函数
 
#include "opencv2/ml.hpp"//机器学习、聚类以及模式识别相关
 
#include "opencv2/objdetect.hpp"//级联人脸分类器、latent SVM分类器、HoG特征和平面片检测器
 
#include "opencv2/photo.hpp"//操作和恢复照片相关算法
 
#include "opencv2/stitching.hpp"//图像拼接函数
 
#include "opencv2/video.hpp"//视觉追踪以及背景分割
 
#include "opencv2/videoio.hpp"//视频输入输出函数

2. 读取avi视频简单范例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
 
int main()
{
 
    namedWindow("example", cv::WINDOW_AUTOSIZE);
 
    VideoCapture cap;
 
    cap.open("/Users/xxx/data/Megamind.avi");
 
    cv::Mat frame;
 
    for(;;){
        cap >> frame;
        if( frame.empty()) break; //Ran Out of film
        cv::imshow("example",frame);
        if(cv::waitKey(33) >= 0) break;
    }
 
    return 0;
}

3. 矩阵等价和相似

3.1 等价矩阵的定义

两个m*n阶矩阵,如果这两个矩阵满足B=QAP(Q为m*m阶可逆矩阵,P为n*n阶可逆矩阵),则A和B等价。也就是说,存在可逆矩阵(P、Q),使得A经过有限次的初等变换得到B。

3.2 等价矩阵的特性

反身、对称、传递;r(A)=r(B) ; |A|=k|B| ;

3.3 相似矩阵的定义

A、B都是n阶矩阵,若存在可逆矩阵P,,则B是A的相似矩阵,记为A~B。A到B的变换称为相似变换,可逆矩阵称为相似变换矩阵。

 

3.4 相似矩阵的性质

反身、对称、传递;r(A)=r(B);|A|=|B|;tr(A)=tr(B);

若A与对角矩阵相似,则称A为可对角化矩阵。

3.5 定理1

n阶矩阵A与对角阵相似的充分必要条件是矩阵A有n个线性无关的特征向量。

 

posted @   方山客  阅读(169)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示