OpenCV-----图像的加载与保存
2024-09-05 10:27:27
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窗口。
最新文章
- SQL Server存储过程中使用表值作为输入参数示例
- Effective Java 71 Use lazy initialization judiciously
- SQL语句与正则表达式
- OC加强-day04
- HCE:Host-based Card Emulation基于Android设备的卡片模拟器
- SESSION会话技术
- YYModel学习总结YYClassInfo(1)
- leetcode-只出现一次的数字合并两个有序数组
- pyqt pyside 设置窗口关闭时删除自身
- CPU、GPU、CUDA、cuDNN
- photoshop学习2
- 厘摩(centimorgan,cM)到底是啥鬼
- 把旧系统迁移到.Net Core 2.0 日记 (19) --UI转用adminLTE
- 个人阅读作业LAST
- echarts.js制作中国地图
- php 大文件上传的实现
- redis主从|哨兵|集群模式
- ResourceManager High Availability
- mysql jdbc操作
- 单片机裸机下写一个自己的shell调试器(转)
热门文章
- 【leetcode】1137. N-th Tribonacci Number
- Android - Gradle架构中使用的“.so”库
- AC自动机再加强版
- Linux下"; >;/dev/null 2>;&;1 ";详解
- 常用的HTML标记整理
- php versionscan YAF
- 【洛谷P1069 细胞分裂】
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_5_综合案例_文件搜索
- 合并流SequenceInputStream
- webservice引用