学习opencv3中文版 笔记

本文是关于学习OpenCV3的笔记,涵盖了图像和视频的展示、处理,如播放视频、平滑图像、降采样等操作。在安装配置过程中遇到的常见问题,如依赖文件缺失、环境变量设置、MFC与Win32项目的区别等也进行了探讨,并详细解释了视频播放、图像处理中的关键函数和方法。
摘要由CSDN通过智能技术生成

一些概念

计算机视觉
将静止的图像,或者是视频转换成一个决策或者一种新的表达方式,这些转化都是为了达到一个目标。
且输入数据可以包含一些辅助信息,比如摄像机架在物品之上,激光扫描仪在一米处发现一个物体。

本质:把具有噪声成分的数值矩阵变成感知

视觉问题的病态本质: 随着视点的变化,物体的二维外观会变化很大。同一张二维图像,可以表示多种三维场景。
具体的问题: 数据被噪声和形变影响。

  • [ 😱] 一些疑问点

“一般来说不可能通过比较一个点和它紧密相连的点来检测图像里的边缘”,所以问题是如何进行边缘检测? 书中提到的“观察一个局部区域的统计特征,边缘检测会变得容易些”是什么意思呢?
“由局部区域卷积的响应连成的点串,构成边缘” 又是什么意思呢?

opencv的结构和内容
opencv主体分为5个模块
CV图像处理和视觉算法,
MLL统计分类器,
HighGUI图像和视频输入/输出,
CXCORE基本机构和算法+XML支持+绘图函数,
CvAux

HighGUI常用: 里面提供读取各种类型的图像文件,视频内容以及摄像机输入的功能。

安装配置opencv

踩坑1: 未找到依赖 dll文件
解决方式:
设置环境变量,Path中加入opencv/build/x64/bin的路径,然后重启

踩坑2 :MFC和win32项目的区别?
这个博主有解释
目前还是不清楚,win32中包含许多基本的API,MFC中包含很多类库,可通过类库间接使用API
win32程序更加的底层,MFC程序可以调用win32?

踩坑3 : 无法打开元数据文件 “platform.winmd”
首先 元数据文件platform.winmd是什么?
解决方式就是重新创建了一下项目,莫名其妙的不再报错,有可能是在配置vs时debug和x64在对应配置目录时没有选择对应的选项。

踩坑4 cmake是干嘛的?

2-1 展示图片

#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;

int main()
{
   
	Mat srcImg = imread("C://Users//lfy//opencv//1.jpg");
	namedWindow("Example1", WINDOW_AUTOSIZE);
	imshow("Example1", srcImg);	
	waitKey(0);
	return 0;
}

踩坑1: 在加载某个图像时,出现未经处理的异常
解决方式:
认为是路径格式的问题 ,必须是:// 而不能是:\

2-2 播放视频

代码如下:

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace std;
using namespace cv;

int main(int argc, char **argv) {
   
	namedWindow("exp2-3", cv::WINDOW_AUTOSIZE);
	VideoCapture cap;
	cap.open(string(argv[1]));
	Mat frame;
	for (;;) {
   
		cap >> frame;
		if (frame.empty())break;
		// ran out of file
		imshow("exp2-3", frame);
		if (waitKey(33) >= 0) break;
	}
	return 0;
}

踩坑1:
如果直接运行程序会报错,因为argv[1]没有设定,会报strlen处的一个错误。
实际运行过程应该是右键项目->属性->调试->命令参数处填入相应的参数。

知识点:

  1. 实例化VedioCapture类型是为了播放以及停止各种类型的视频
  2. VedioCapture的open函数打开一个视频,然后定义一个Mat类型的frame,将vedio一帧帧导入frame,即 cap>>frame
  3. waitKey()参数是秒数,可以控制视频播放每一帧之间的间隔

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值