OpenCV-----图像的加载与保存
OpenCV中的图像:
定义:在opencv中图像就是结构化存储数据的信息。
属性:1.宽、高和通道数目
1 print(image.shape) #形状:行(长)、列(宽)、通道数(深度)
2.像素数据
1 pixel_data = np.array(image) #获取所有像素数据
2 print(pixel_data)
3.图像的类型
1 print(type(image)) #结构类型
加载显示
读/写图像文件:cv.imread()函数用于对图片的读取;cv.imwriter()用于对图片的写操作,包括保存等
1 src = cv.imread("C:/Users/shinelon/Desktop/DL/op.jpg") #括号类为图片的绝对路径
2 cv.imwrite("C:/Users/shinelon/Desktop/DL/12.png",gray) #保存图片到指定目录
图像的显示:cv.imshow(winname, mat)将图片在Windows窗口显示。winname:窗口名字;mat:图像名称。
1 cv.imshow("input image",src) #将图片在Windows窗口显示
其他知识点
cv.VideoCapture(0) #打开电脑的摄像头,0:表示有多个摄像头时,其序号;当要读取视频是括号类为视频的路径:("D:/学习视频/Adams/ADAMS基础视频教程1.wmv") 但没有声
cv.cvtColor(src, cv.WINDOW_AUTOSIZE) #将图像转换成Blue-Green-Read(RGB)格式
完整代码
1 import cv2 as cv
2 import numpy as np
3
4
5 #对视频的读取
6 def video_demo():
7 capture = cv.VideoCapture(0) #打开电脑的摄像头,0:表示有多个摄像头时,其序号.
8 # 当要读取视频是括号类为视频的路径:("D:/学习视频/Adams/ADAMS基础视频教程1.wmv") 但没有声音
9 while(True):
10 ret, frame = capture.read() #读取摄像头
11 frame = cv.flip(frame, 1) #镜像调换
12 cv.imshow("video",frame) #显示视频的帧数
13 c = cv.waitKey(50)
14 if c == 27:
15 break
16
17
18 def get_image_info(image):
19 print(type(image)) #结构类型
20 print(image.shape) #形状:长、宽、通道数(深度)
21 print(image.size) #像素数据
22 print(image.dtype) #每个通道占用的位数
23 pixel_data = np.array(image) #获取所有像素数据
24 print(pixel_data)
25
26
27 print("------Python OpenCV Tutorial-----")
28 src = cv.imread("C:/Users/shinelon/Desktop/DL/op.jpg") #括号类为图片的绝对路径
29 cv.namedWindow("input image",cv.WINDOW_NORMAL)
30 cv.imshow("input image",src) #将图片在Windows窗口显示
31 video_demo() #读取视频
32 # get_image_info(src) #读取图片参数
33 # gray = cv.cvtColor(src, cv.WINDOW_AUTOSIZE)
34 # cv.imwrite("C:/Users/shinelon/Desktop/DL/12.png",gray) #保存图片到指定目录
35 cv.waitKey(0)
36
37 cv.destroyAllWindows() #销毁所有打开的HighGUI窗口。
OpenCV-----图像的加载与保存的更多相关文章
- [OpenCV学习笔记3][图像的加载+修改+显示+保存]
正式进入OpenCV学习了,前面开始的都是一些环境搭建和准备工作,对一些数据结构的认识主要是Mat类的认识: [1.学习目标] 图像的加载:imread() 图像的修改:cvtColor() 图像的显 ...
- OpenCV图像加载与保存
OpenCV中的图像加载与保存 头文件是包含的库,在GitHub上下载的 imread("图片路径",图片加载方式) 图片加载方式: IMREAD_GRAYSCALE 灰度图像 I ...
- python实现图像加载与保存,窗口创建与销毁,图片常用属性,ROI,通道的分离与合并,对比度和亮度
目录: (一)图像加载与保存 (二)图像显示窗口创建与销毁 (三)图片的常用属性的获取 (四)生成指定大小的矩形区域(ROI) (五)图片颜色通道的分离与合并 (六)两张图片相加,改变对比度和亮度 ( ...
- KnockoutJS 3.X API 第七章 其他技术(1) 加载和保存JSON数据
Knockout允许您实现复杂的客户端交互性,但几乎所有Web应用程序还需要与服务器交换数据,或至少将本地存储的数据序列化. 最方便的交换或存储数据的方式是JSON格式 - 大多数Ajax应用程序今天 ...
- Qt Load and Save PCL/PLY 加载和保存点云
Qt可以跟VTK和PCL等其他库联合使用,十分强大,下面的代码展示了如何使用Qt联合PCL库来加载和保存PCL/PLY格式的点云: 通过按钮加载点云: void QMainWindow::on_pb_ ...
- 6.Knockout.Js(加载或保存JSON数据)
前言 Knockout可以实现很复杂的客户端交互,但是几乎所有的web应用程序都要和服务器端交换数据(至少为了本地存储需要序列化数据),交换数据最方便的就是使用JSON格式 – 大多数的Ajax应用程 ...
- Knockout应用开发指南 第六章:加载或保存JSON数据
原文:Knockout应用开发指南 第六章:加载或保存JSON数据 加载或保存JSON数据 Knockout可以实现很复杂的客户端交互,但是几乎所有的web应用程序都要和服务器端交换数据(至少为了本地 ...
- Tensorflow模型加载与保存、Tensorboard简单使用
先上代码: from __future__ import absolute_import from __future__ import division from __future__ import ...
- TensorFlow模型加载与保存
我们经常遇到训练时间很长,使用起来就是Weight和Bias.那么如何将训练和测试分开操作呢? TF给出了模型的加载与保存操作,看了网上都是很简单的使用了一下,这里给出一个神经网络的小程序去测试. 本 ...
- Knockout.Js官网学习(加载或保存JSON数据)
前言 Knockout可以实现很复杂的客户端交互,但是几乎所有的web应用程序都要和服务器端交换数据(至少为了本地存储需要序列化数据),交换数据最方便的就是使用JSON格式 – 大多数的Ajax应用程 ...
随机推荐
- python补充之进制转换、exec、eval、compile
目录 eval.exec和compile 1.eval函数 2.exec函数 eval()函数和exec()函数的区别 python中的进制转换 eval.exec和compile 1.eval函数 ...
- 对Lockr的初步认识
1.Lockr.set - 参数: [ key, value ] {String, Number, Array or Object} 设置一个指定的值,可以是任意类型 2.Lockr.get - 参数 ...
- C#中[JsonIgnore]意义
字面意义是忽略序列化,就是当字段在序列化时,被[JsonIgnore]标记了的字段将被忽略序列化 序列化输出中使用Id和Name属性,但我绝对不会对AlternateName和Color感兴趣.我用[ ...
- spring boot mapper层传参数是用main的arg0(第一个参数),arg1(第二个参数)
spring boot mapper层传参数是用main的arg0(第一个参数),arg1(第二个参数) 大于三个参数,用map传递 public interface FrontMapper{ //= ...
- #452 Div2 Problem C Dividing the numbers ( 思维 || 构造 )
题意 : 将从 1 ~ n 的数分成两组,要求两组和的差值尽可能小,并输出其中一组的具体选数情况 分析 : 如果将这 n 个数从大到小四个一组来进行选择的话那么差值就为 0 ,然后再来考虑 n%4 ! ...
- luogu P1162 填涂颜色 x
P1162 填涂颜色 题目描述 由数字0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向.现要求把闭合圈内的所有空间都填写成2.例如:6X6的方阵(n=6),涂色前和 ...
- 给字体和元素加阴影text-shadow和box-shadow
1.语法: 对象选择器 {text-shadow:X轴偏移量 Y轴偏移量 阴影模糊半径 阴影颜色} 注:text-shadow可以使用一个或多个投影,如果使用多个投影时必须需要用逗号“,”分开. 2 ...
- UE4联网游戏中让不同的客户端生成不同的Pawn类型
效果描述 一个服务器,两个客户端,让他们连接后分别生成不同的Pawn,并且在不同的位置生成. 意义 这是个项目需求,但是我发现如果能够彻底理解并制作出这个功能,会对虚幻4内置的网络功能以及一些重要的G ...
- Spring Cloud架构教程 (七)消息驱动的微服务(核心概念)【Dalston版】
下图是官方文档中对于Spring Cloud Stream应用模型的结构图.从中我们可以看到,Spring Cloud Stream构建的应用程序与消息中间件之间是通过绑定器Binder相关联的,绑定 ...
- 论文keywords和规则匹配的baseline
详细的思路可以参照小论文树立0317 关键词分为以下几类: t/****一些通用的过滤词,这些通用的过滤词可以使用和节目一起出现的词语,结合tf-idf看出来么?*****/ public st ...