opencv加载图片和视频
一、加载图片:
1.先放一段最简单的加载图片的代码
import cv2 as cv #引用opencv库
image = "D:/Image/test.jpg" #确定图片所在路径
src = cv.imread(image) #读取图片
cv.imshow("Picture", src) #显示图片
cv.waitKey(0) #等待按键关闭,若缺少这条语句图片会无法正常显示
2.三个函数的介绍:
imread():
函数原型:imread(const String& filename,int flags = IMREAD_COLOR)
参数介绍(filename:图片名称,
flag: flag=-1时,8位深度,原通道
flag=0,8位深度,1通道
flag=1, 8位深度 ,3通道 flag默认值为1,显示彩色图像。若更改flag为0,则显示灰度图像。
flag=2,原深度,1通道
flag=3, 原深度,3通道
flag=4,8位深度 ,3通道)
imshow():
函数原型:imshow(const string& winname, InputArray mat)
参数介绍 (winname:显示的窗口名称, mat:要显示的图片)
waitKey():
函数原型:WaitKey(int delay)
参数介绍:delay:让程序等待delay ms后在继续运行其后面的语句。若delay=0,则无限期等待,直到按下键盘任意按键。
此函数的返回值是按下的键的值,仅对opencv产生的窗口有效
3.若要显示加载图片的信息,可添加如下代码:
print(src.shape) # 图像的高,宽,通道数
print(src.size) #图像的大小
print(src.dtype) #图像的字节
二、加载视频:
1.相关代码:
capture = cv.VideoCapture(0) #加载摄像头
while(True): #判断是否加载成功
ret, frame = capture.read()
frame = cv.flip(frame, 1) #对摄像头进行镜像变换
cv.imshow("Video", frame) #显示视频
c = cv.waitKey(50)
if c == 27:
break
2.函数介绍:
Videocapture():
参数介绍:1.若在括号内输入视频名字,如:capture = cv.VideoCapture("D:/Image/test.mp4"),则显示读取到的视频。
2.若输入数字,如0,则显示第零号摄像头看到的视频。
ret, frame = capture.read():
介绍:第一个参数ret 为True 或者False,代表有没有读取到图片
第二个参数frame表示截取到一帧的图片
opencv加载图片和视频的更多相关文章
- opencv加载图片imread失败的原因
用简单的imshow函数加载图片,报加载失败的异常,显示没有将图片加载到内存中.原因是在配置环境是同时将*lib与*d.lib都入了附加依赖项,而项目的生成方式选择的是debug,*lib在*d.li ...
- Unity3d外部加载音频,视频,图片等资源 及根据路径获取制定格式的文件
1.根据路径获取制定文件类型的文件: 这里写一个类,调用了打开路径的方法:using UnityEngine;using System;using System.Collections.Generic ...
- OpenCV教程【002 VideoCapture加载并播放视频】
#include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace c ...
- OpenCV使用:加载图片时报错 0x00007FFC1084A839 处(位于 test1.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x00000026ABAFF1A8 处。
加载图片代码为: #include<iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgu ...
- 多线程异步加载图片async_pictures
异步加载图片 目标:在表格中异步加载网络图片 目的: 模拟 SDWebImage 基本功能实现 理解 SDWebImage 的底层实现机制 SDWebImage 是非常著名的网络图片处理框架,目前国内 ...
- Android中的Glide加载图片
注意:在Android Studio的项目的build.gradle中添加: compile 'com.github.bumptech.glide:glide:3.6.1' 然后同步一下 目录: 使用 ...
- android 加载图片框架--Glide使用详解
一.简介 Glide,一个被google所推荐的图片加载库,作者是bumptech.这个库被广泛运用在google的开源项目中,包括2014年的google I/O大会上发布的官方app.(PS:众所 ...
- 如何使用 opencv 加载 darknet yolo 预训练模型?
如何使用 opencv 加载 darknet yolo 预训练模型? opencv 版本 > 3.4 以上 constexpr const char *image_path = "da ...
- CSS3学习总结——实现瀑布流布局与无限加载图片相册
首先给大家看一下瀑布流布局与无限加载图片相册效果图: 一.pic1.html页面代码如下: <!DOCTYPE html> <html> <head> <me ...
随机推荐
- P5166 xtq的口令
传送门 这题要是搞懂在干什么其实不难(虽然某个花了几个小时才搞明白的家伙似乎没资格这么说--) 假设所有人都没有听到老师的命令,我们从左到右考虑,对于当前的人,如果它没有观察者,那么肯定要让它听到老师 ...
- C. Coconut(2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛)
额,只是一道签到题,emmm直接代码: #include <cstdio> #include <cstring> #include <algorithm> usin ...
- spring mvc No mapping found for HTTP request with URI [/web/test.do] in DispatcherServlet with name 'spring'
原因: spring-servlet.xml 中 <context:component-scan base-package="com.test.controller" /&g ...
- redis过期策略+事务+分布式锁+单redis服务器锁
过期策略 相关知识:redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略.redis 提供 6种数据淘汰策略: voltile-lru:从已设置过期时间的数据集(server.db[i ...
- 洛谷1736(二维dp+预处理)
洛谷1387的进阶版,但很像. 1387要求是“全为1的正方形”,取dp[i][j] = min(dp[i-1][j-1], min(dp[i-1][j], dp[i][j-1]))吧?这个有“只有对 ...
- Codeforces Round #319 (Div. 2)
水 A - Multiplication Table 不要想复杂,第一题就是纯暴力 代码: #include <cstdio> #include <algorithm> #in ...
- 二分搜索 2015百度之星初赛1 HDOJ 5248 序列变换
题目传送门 /* 二分搜索:在0-1e6的范围找到最小的max (ai - bi),也就是使得p + 1 <= a[i] + c or a[i] - c 比赛时以为是贪心,榨干智商也想不出来:( ...
- Eclipse安装svn插件的几种方式 -- 转
1.在线安装: (1).点击 Help --> Install New Software... (2).在弹出的窗口中点击add按钮,输入Name(任意)和Location(插件的URL),点击 ...
- G. 24 观察 + 树状数组
http://codeforces.com/gym/101257/problem/G 首先要看到题目,题目是本来严格大于score[i] > score[j].然后score[i] < s ...
- List<DTO>转 Map<String,List<DTO>> 两种写法
List<TeamScheduleDTO> list = JSON.parseArray(response.getData().getJSONArray("list") ...