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应用程 ...
随机推荐
- vue-cli3.0配置
仅在项目根目录中新建vue.config.js文件即可,部分配置如下 module.exports = { // 基本路径 baseUrl: '/', // 输出文件目录 outputDir: 'di ...
- 虚拟机安装Windows系统,再安装orcale
本文出自:http://www.cnblogs.com/2186009311CFF/p/8724441.html 1.创建新虚拟机 2.选择自定义 3.选择workstation 5.x(据安装的系统 ...
- 牛飞盘队Cow Frisbee Team
老唐最近迷上了飞盘,约翰想和他一起玩,于是打算从他家的N头奶牛中选出一支队伍. 每只奶牛的能力为整数,第i头奶牛的能力为R i .飞盘队的队员数量不能少于 .大于N. 一支队伍的总能力就是所有队员能力 ...
- Packet Transactions: High-level Programming for Line-Rate Switches
Name of article:Packet Transactions: High-level Programming for Line-Rate Switches Origin of the art ...
- Node 资源
Node.js 首页 最新的 Node.js 核心文档 Node.js 博客 Node.js 职位公告板 Node.js 包管理器(npm)的首页
- Java 有关类字段的初始化
实例代码 package text; public class MethodOverload { /** * @param args */ public static void main(String ...
- Oracle Between子句
Oracle Between子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,您将学习如何使用Oracle BETWEEN运算符来选择值在一 ...
- WWDC2017-advanced_animations_with_uikit
最后修改时间: 2017-12-1 官方视频链接 这个Session主要讲一下的几个内容: Basic(基础的): 动画工作原理 以及 动画如何计时 Interactive and Interrupt ...
- IO 输入输出流
1) 数据流: 一组有序,有起点和终点的字节的数据序列.包括输入流和输出流.
- Linux新增用户,并设置Root(管理员)权限
在使用Linux过程中,Root账号拥有最大的操作权限.为保证Root账号安全,一般不直接使用Root账号,而是直接创建一个拥有Root权限的其它账号来使用.详细操作步骤如下 第一步,创建用户,如下图 ...