我是靠谱客的博主 会撒娇小鸽子,这篇文章主要介绍OpenCV-python实现图像加载、图像保存、摄像头调用OpenCV-python实现图像加载、图像保存、摄像头调用,现在分享给大家,希望可以做个参考。

OpenCV-python实现图像加载、图像保存、摄像头调用

说明:

1、涉及两个模块相关知识

1.1、通过调用cv2模块中的函数实现图像读取,写入,灰度处理
涉及命令:

相关命令用到的功能
cv.imread读取图像
cv.imshow显示图像
cv.imwrite图像写入
cv.cvtColor图像色彩处理
cv.COLOR_BGR2GRAY灰度处理
cv.flip摄像头捕捉图像的镜像变换
cv.VideoCapture视频捕捉
cv.namedWindow创建图形窗口
cv.WINDOW_AUTOSIZE窗口大小
cv.waitKey等待键入,或者刷新

1.2、通过调用numpy中的函数将图像矩阵里的数据保存

复制代码
1
2
3
pixel_data = np.array(image) #使用numpy库中的array函数来将image中所有数据存起来

2、定义两个函数:

2.1、video_demo函数实现摄像头捕捉图像

复制代码
1
2
3
4
5
6
7
8
9
10
def video_demo():#调用摄像头 capture = cv.VideoCapture(0) while(True):#表示一直读取的意思 ret, frame = capture.read()#将捕捉到的每一帧图像存到frame中 frame = cv.flip(frame, 1)#flip是镜像变换,1和-1 cv.imshow("video", frame)#读取摄像头的每一帧 c = cv.waitKey(50)#每隔50ms刷新一次图像 if c == 27:#27是ASCII码ESC十进制的表示,用来退出 break

2.2、get_image_info函数实现图像信息的获取

复制代码
1
2
3
4
5
6
7
8
def get_image_info(image):#用来得到图片的具体信息 print(type(image))#得到图像的类型,<class 'numpy.ndarray'>,numpy包中N维的数组结构 print(image.shape)#图像宽高和通道数 print(image.size)#图像大小size=shape中宽高和通道数相乘 print(image.dtype)#获得图像字节大小uint8表示无符号int8位数 pixel_data = np.array(image)#使用numpy库中的array函数来将image中所有数据存起来 print(pixel_data)#打印图像的数组数据

3、完整代码

附:
需要在同一个目录下放入图片:1.jpg
可以更改输出路径与文件名

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import cv2 as cv import numpy as np def video_demo():#调用摄像头 capture = cv.VideoCapture(0) while(True):#表示一直读取的意思 ret, frame = capture.read()#将捕捉到的每一帧图像存到frame中 frame = cv.flip(frame, 1)#flip是镜像变换,1和-1 cv.imshow("video", frame)#读取摄像头的每一帧 c = cv.waitKey(50)#每隔50ms刷新一次图像 if c == 27:#27是ASCII码ESC十进制的表示,用来退出 break def get_image_info(image):#用来得到图片的具体信息 print(type(image))#得到图像的类型,<class 'numpy.ndarray'>,numpy包中N维的数组结构 print(image.shape)#图像宽高和通道数 print(image.size)#图像大小size=shape中宽高和通道数相乘 print(image.dtype)#获得图像字节大小uint8表示无符号int8位数 pixel_data = np.array(image)#使用numpy库中的array函数来将image中所有数据存起来 print(pixel_data)#打印图像的数组数据 print("--------Hello python---------") scr = cv.imread("1.jpg")#使用cv中的imread来读取图片并保存数据到scr中 cv.namedWindow("input image", cv.WINDOW_AUTOSIZE) #创建一个叫input image的GUI框架显示图像 cv.imshow("input image", scr)#使用cv中的imshow来显示图片,使创建的窗口与图像相吻合 video_demo()#调用摄像头 get_image_info(scr)#调用函数,将scr中的内容传递进去,获得图像信息 gray = cv.cvtColor(scr, cv.COLOR_BGR2GRAY)#将图像进行灰度处理 cv.imwrite("E:Python EnvironmentPycharm_location_projectsMyprojectsgray-1.png", gray)#图像输出保存 cv.waitKey(0)#等待操作 cv.destroyAllWindows() # 释放所有窗口内存

最后

以上就是会撒娇小鸽子最近收集整理的关于OpenCV-python实现图像加载、图像保存、摄像头调用OpenCV-python实现图像加载、图像保存、摄像头调用的全部内容,更多相关OpenCV-python实现图像加载、图像保存、摄像头调用OpenCV-python实现图像加载、图像保存、摄像头调用内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部