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 ...
随机推荐
- Spring Cloud Alibaba基础教程:Sentinel Dashboard中修改规则同步到Nacos
上一篇我们介绍了如何通过改造Sentinel Dashboard来实现修改规则之后自动同步到Apollo.下面通过这篇,详细介绍当使用Nacos作为配置中心之后,如何实现Sentinel Dashbo ...
- 【废弃】JavaScript 控制类语法
创建: 2017/10/07 完成: 2017/10/07 结束: 2019/02/19 把所有内容迁出到[JavaScript 基础]并将本博文归档到[废弃] return前加一个空格, 使所有单元 ...
- E20180413-hm
skew adj. 斜的,歪的; [数学] 不对称的; [统计学] 歪斜,扭曲; vt. 歪曲; 曲解; 使歪斜; vi. 偏离,歪斜; 斜视; traversal n. 横越,横断物,(横 ...
- E20170415-ms
opaque adj 不透明的 n 不透明 adapter n 配适器
- bzoj 5499: [2019省队联测]春节十二响【堆】
首先看两条链怎么合并,贪心可得是从大到小取max,多条链同理 所以dfs合并子树的大根堆即可,注意为了保证复杂度,合并的时候要合并到最长链上,证明见长链剖分 #include<iostream& ...
- P5154 数列游戏(区间dp)
传送门 果然和dp有关的东西我绝对做不出来啊-- 设\(dp[i][j]\)表示消完区间\([i,j]\)中的数之后能得到的最大分数,如果消不完则为\(-inf\),否则枚举断点.顺便如果\(a[i] ...
- IT兄弟连 Java Web教程 Tomcat
本文采用的Tomcat服务器版本是Tomcat8.5版本,Tomcat8.5支持Servlet3.1.JSP2.3以及EL3.0规范.并且Tomcat8.5版本对JDK8的支持比Tomcat8更加全面 ...
- jQuery笔记之工具方法—Ajax 优化回调地狱
在上一篇文我们说到了回调地狱不好的地方,今天我们看看怎么来优化它,让它可以运用到实际开发中. 什么是回调地狱?回调地狱就是一个函数里面嵌套了所有功能函数,然后缩略图形成一个三角形. 这样的代码可复用性 ...
- 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)
这个很简单,在集群机器里,选择就是了,本来自带就有Impala的. 扩展博客 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)
- AtCoder Grand Contest 012 B
B - Splatter Painting Time limit : 2sec / Memory limit : 256MB Score : 700 points Problem Statement ...