我是靠谱客的博主 会撒娇小鸽子,这篇文章主要介绍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中的函数将图像矩阵里的数据保存
pixel_data = np.array(image)
#使用numpy库中的array函数来将image中所有数据存起来
2、定义两个函数:
2.1、video_demo函数实现摄像头捕捉图像
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函数实现图像信息的获取
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
可以更改输出路径与文件名
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实现图像加载、图像保存、摄像头调用内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复