opencv 学习1 gui属性
1.图像
先定一个小目标学习两个个功能
1.学习怎样读入一副画像,以及如何保存一副图像
2.学习三个函数cv2.imread(), cv2.imshow() , cv2.imwrite()
1.1读入图像:
使用函数cv2.imread()读入图像
import numpy as np
import cv2 mgs = cv2.imread('./picture/mingren.jpg', 0)
print(mgs)
显示的结果是
[[239 240 241 ... 223 223 224]
[240 239 239 ... 224 225 227]
[239 239 239 ... 222 226 228]
...
[115 121 116 ... 182 187 183]
[113 126 120 ... 183 183 182]
[113 111 110 ... 176 176 176]]
那么我们把0改成1试试看
[[[214 244 239]
[213 245 240]
[213 247 241]
...
[219 223 224]
[218 223 224]
[215 226 224]] [[212 246 240]
[211 245 239]
[207 244 240]
...
[220 225 224]
[220 226 225]
[218 229 226]] [[207 245 239]
[207 244 240]
[204 245 240]
...
[218 223 221]
[221 228 223]
[221 232 224]] ... [[101 93 164]
[107 101 166]
[104 101 150]
...
[157 179 197]
[162 184 202]
[156 180 198]] [[ 97 83 179]
[112 97 188]
[106 96 173]
...
[156 180 200]
[156 180 200]
[154 179 199]] [[102 91 161]
[100 88 160]
[ 99 87 159]
...
[148 170 198]
[148 170 198]
[148 170 198]]]
1.2显示图像
cv2.imshow('this_is_mr', mgs)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imshow('this_is_mr', mgs)
此条代码是展示一个窗口 窗口叫做 this_is_mr
a = cv2.waitKey(0)
这个函数为等待输入一个数值 返回ASCII码
cv2.destroyAllWindows()
关闭所有窗口
print(a)
使用函数 cv2.imread() 读入图像。这幅图像应该在此程序的工作路径,或者给函数提供完整路径,第二个参数是要告诉函数应该如何读取这幅图片。
• cv2.IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,这是默认参数。
• cv2.IMREAD_GRAYSCALE:以灰度模式读入图像
• cv2.IMREAD_UNCHANGED:读入一幅图像,并且包括图像的 alpha 通道
cv2.waitKey() 是一个键盘绑定函数。需要指出的是它的时间尺度是毫秒级。函数等待特定的几毫秒,看是否有键盘输入。特定的几毫秒之内,如果按下任意键,这个函数会返回按键的 ASCII 码值,程序将会继续运行。如果没有键盘输入,返回值为 -1,如果我们设置这个函数的参数为 0,那它将会无限期的等待键盘输入。它也可以被用来检测特定键是否被按下,例如按键 a 是否被按下,这个后面我们会接着讨论。
cv2.destroyAllWindows() 可以轻易删除任何我们建立的窗口。如果你想删除特定的窗口可以使用 cv2.destroyWindow(),在括号内输入你想删除的窗口名。
cv2.namedWindow('what',cv2.WINDOW_NORMAL) # 此时是先粗线矿在加载图片且框发大小都可以改变 倘若后面参数是cv2.WINDOW_AUTOSIZE
cv2.waitKey(0) # 就不可以改变
cv2.imshow('what', mgs)
# 如果你用的是 64 位系统,你需要将 k = cv2.waitKey(0) 这行改成k = cv2.waitKey(0)&0xFF。
cv2.waitKey(0)
cv2.destroyAllWindows()
2.视频
1.读取视频文件显示视频保存视频文件
2.从摄像头获取并显示视频 学习以下函数cv2.VideoCapture(),cv2.VideoWrite()
2.1用摄像头获取视频
为了获取视频,应该先创建一个cideocapture对象。他的参数就是设备的索引设备索引号就是在指定要使用的摄像头。一般的笔记本电脑都有内置摄像头。所以参数就是 0。你可以通过设置成 1 或者其他的来选择别的摄像头。之后,你就可以一帧一帧的捕获视频了最后需要停止捕获
import numpy as np
import cv2
text1 =cv2.VideoCapture(0) while(True):
# 一帧一帧读取画面
ret, frame = text1.read()
gary = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) # 转成灰色
cv2.imshow('what', gary)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
text1.release() # 释放
cv2.destroyAllWindows()
cap.read() 返回一个布尔值(True/False)。如果帧读取的是正确的,就是 True。所以最后你可以通过检查他的返回值来查看视频文件是否已经到了结尾。
有时 cap 可能不能成功的初始化摄像头设备。这种情况下上面的代码会报错。你可以使用 cap.isOpened(),来检查是否成功初始化了。如果返回值是True,那就没有问题。否则就要使用函数 cap.open()。
你可以使用函数 cap.get(propId) 来获得视频的一些参数信息。这里propId 可以是 0 到 18 之间的任何整数。每一个数代表视频的一个属性
如下
- CV_CAP_PROP_POS_MSEC视频文件的当前位置(以毫秒为单位)或视频捕获时间戳。
- CV_CAP_PROP_POS_FRAMES接下来要解码/捕获的帧的基于0的索引。
- CV_CAP_PROP_POS_AVI_RATIO视频文件的相对位置:0 - 电影的开始,1 - 电影的结尾。
- CV_CAP_PROP_FRAME_WIDTH视频流中帧的宽度。
- CV_CAP_PROP_FRAME_HEIGHT视频流中帧的高度。
- CV_CAP_PROP_FPS帧速率。
- CV_CAP_PROP_FOURCC编解码器的4字符代码。
- CV_CAP_PROP_FRAME_COUNT视频文件中的帧数。
- CV_CAP_PROP_FORMAT返回的Mat对象的格式
retrieve()。 - CV_CAP_PROP_MODE指示当前捕获模式的特定于后端的值。
- CV_CAP_PROP_BRIGHTNESS图像的亮度(仅适用于相机)。
- CV_CAP_PROP_CONTRAST图像对比度(仅适用于相机)。
- CV_CAP_PROP_SATURATION图像的饱和度(仅适用于相机)。
- CV_CAP_PROP_HUE图像的色调(仅适用于相机)。
- CV_CAP_PROP_GAIN图像的增益(仅适用于相机)。
- CV_CAP_PROP_EXPOSURE曝光(仅适用于相机)。
- CV_CAP_PROP_CONVERT_RGB布尔标志,指示是否应将图像转换为RGB。
- CV_CAP_PROP_WHITE_BALANCE_U白平衡设置的U值(注意:目前仅支持DC1394 v 2.x后端)
- CV_CAP_PROP_WHITE_BALANCE_V白平衡设置的V值(注意:目前仅支持DC1394 v 2.x后端)
- CV_CAP_PROP_RECTIFICATION立体摄像机的整流标志(注意:目前仅支持DC1394 v 2.x后端)
- CV_CAP_PROP_ISO_SPEED摄像机的ISO速度(注意:目前仅支持DC1394 v 2.x后端)
- CV_CAP_PROP_BUFFERSIZE存储在内部缓冲存储器中的帧数(注意:目前仅支持DC1394 v 2.x后端)
opencv 学习1 gui属性的更多相关文章
- opencv2.4.13+python2.7学习笔记--opencv中的Gui特性--图片:读图像,显示图像,保存图像
阅读对象:可以配置opencv+Python环境的任何人,毕竟写这篇文章的人就是小白. 1.环境说明 1.1opencv版本: 1.2Python版本: 1.3系统:win7 注: (1)opencv ...
- [OpenCV-Python] OpenCV 中的 Gui特性 部分 II
部分 IIOpenCV 中的 Gui 特性 OpenCV-Python 中文教程(搬运)目录 4 图片 目标 • 在这里你将学会怎样读入一幅图像,怎样显示一幅图像,以及如何保存一幅图像 • 你将要学习 ...
- OpenCV学习笔记(一)安装及运行第一个OpenCV程序
1.下载及安装 OpenCV是一套开源免费的图形库,主要有C/C++语言编写,官网: http://opencv.org/ .在 http://opencv.org/downloads.html 可以 ...
- [OpenCV学习笔记3][图像的加载+修改+显示+保存]
正式进入OpenCV学习了,前面开始的都是一些环境搭建和准备工作,对一些数据结构的认识主要是Mat类的认识: [1.学习目标] 图像的加载:imread() 图像的修改:cvtColor() 图像的显 ...
- OpenCV学习系列(一) Mac下OpenCV + xcode人脸检测实现
# OpenCV学习系列(一) Mac下OpenCV + xcode人脸检测实现 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-环 ...
- 【opencv学习笔记五】一个简单程序:图像读取与显示
今天我们来学习一个最简单的程序,即从文件读取图像并且创建窗口显示该图像. 目录 [imread]图像读取 [namedWindow]创建window窗口 [imshow]图像显示 [imwrite]图 ...
- TweenMax学习整理--特有属性
TweenMax学习整理--特有属性 构造函数:TweenMax(target:Object, duration:Number, vars:Object) target:Object -- 需要缓 ...
- opencv学习笔记(七)SVM+HOG
opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...
- opencv学习笔记(六)直方图比较图片相似度
opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...
随机推荐
- 手把手教你AspNetCore WebApi:Nginx(负载均衡)
前言 这几天小明又有烦恼了,系统上线一段时间后,系统性能出现了问题,缓存等都用上了,还是不能解决问题.马老板很大气,又买了3台服务器,让小明做个集群分流一下. 集群是什么? 是一种计算机系统,它通过一 ...
- centos8平台使用strace跟踪系统调用
一,strace的用途 strace 是最常用的跟踪进程系统调用的工具. 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectfore ...
- C++常用数据类型
基本的内置类型 C++ 为程序员提供了种类丰富的内置数据类型和用户自定义的数据类型.下表列出了七种基本的 C++ 数据类型: 类型 关键字 布尔型 bool 字符型 char 整型 int 浮点型 f ...
- 优化Mysql数据库的8个方法
通过8个方法优化Mysql数据库:创建索引.复核索引.索引不会包含含有NULL值的列.使用短索引.排序的索引问题.like语句操作.不要在列上进行运算.不使用NOT IN 和<>操作 1 ...
- CPU 底层运算之乘法运算
CPU 运算加减法运算 假设计算 3+3 原码是0011 * 0011(以4位存贮单元,因为是原码,最高位不代表符号位) 1. 首先 判断 两个加数是否有 负数(减法) 如果有 负数 先将负数转 ...
- 简述 QPS、TPS、并发用户数、吞吐量关系
1. QPS QPS Queries Per Second 是每秒查询率 ,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准, 即每秒的响应请求数,也即 ...
- Linux标准重定向-输入-输出-错误-多重
一切皆文件,都是文件的操作 三种I/O设备 标准的输入输出 程序:指令+数据 读入数据:Input 输出数据:Output 系统中打开一个文件系统自动分配文件描述符,除了0,1,2是固定的,其他的都是 ...
- VScode如何配置c/c++运行环境
vscode如何配置c/c++环境 下载 Mingw 参考链接:https://blog.csdn.net/jiqiren_dasheng/article/details/103775488 笔者下载 ...
- 【原创】linux实时操作系统xenomai x86平台基准测试(benchmark)
一.前言 benchmark 即基准测试.通常操作系统主要服务于应用程序,其运行也是需要一定cpu资源的,一般来说操作系统提供服务一定要快,否则会影响应用程序的运行效率,尤其是实时操作系统.所以本文针 ...
- Docker的介绍与安装教程
基于Windows系统下docker的介绍与安装教程以及更换docker镜像源教程 目录 基于Windows系统下docker的介绍与安装教程以及更换docker镜像源教程 Docker的核心概念 D ...