openCV

官网下载

https://opencv.org/releases/

有针对windows编译好的安装包

说是安装包,其实就是没有安装,就是解压出来下面一些内容。

 

Vs2019搭建

1.配置环境变量

  1. 配置include 路径
  2. 配置 lib 路径
  3. 配置lib的名称

https://www.cnblogs.com/liming19680104/p/13598456.html

32位

官网只编译了64位,没有32位的编译资源,需要自己动手。

  1. 下载安装cmake

https://blog.csdn.net/weixin_45741779/article/details/115082491

Opencv为什么编译后没有opencv_world.lib

在编译Opencv源码时,会发现一个问题,有的人编译出来的是opencv_world.lib就一个。自己编译出来的lib有很多个,这是为什么?

在用cmake编译时,注意configure之后,是否生成opencv_world.lib是要自己勾选的,默认是不勾选的,如果希望只生成一个lib,就勾选上。

opencv_world.lib只是所有lib的一个打包,在使用的时候,直接在附加依赖项添加这一个就可以,主要是为了方便。 没有打包的话,把其它所有的lib文件全添加是一样效果。

注意:一般不需要生成opencv_world,不然在实际工程项目里会造成比较大量的冗余。

https://zouzhongliang.com/index.php/2019/08/20/opencvweishenmetongyihoumeiyouopencv_world-lib/

 读取视频指定的帧

//读取指定的帧	
const string videoIn = "rain.mp4";
 	VideoCapture captRefrnc(videoIn);//读取视频

//把rain.map读取到 captRefrnc 后 ,captRefrnc.get(CAP_PROP_FRAME_COUNT) 查看总帧数。

        Mat frame1,frame2;//声明两帧
 
	captRefrnc.set(CAP_PROP_POS_FRAMES ,1);//设置偏移量
	captRefrnc >> frame1;//读取帧
	imshow("a frame ",frame1); //显示
 
 
	captRefrnc.set(CAP_PROP_POS_FRAMES ,100);
	captRefrnc >> frame2;
	imshow("anoter frame ",frame2);
	waitKey();

 截取视频第一帧

//截取视频的第一帧
VideoCapture capture("G:/ResourcePool/视频/C罗.mp4");
	if (!capture.isOpened())
	{
		return;
	}

	int imgIndex = 0;
		Mat frame;
		capture >> frame;//读取帧 按游标来读
		if (frame.empty())
		{
			return;
		}

		char* imageSaveName = new char[200];//声明一个保存名称

		//将图片的路径及名称输入到imageSaveName中
		sprintf_s(imageSaveName, 200, "G:/ResourcePool/视频/%d.jpg", imgIndex);

		//将每一帧图像frame保存到imageSaveName指定的文件中
		imwrite(imageSaveName, frame);//写入到图片中
		delete[] imageSaveName;
		imgIndex++;
	
	cout << "total frames1: " << imgIndex << endl;
capture.release(); //释放

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值