Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
作者:蛋片鸡 发布时间:2022-10-12 22:54:02
标签:Python,OpenCV,打印,摄像头,路径
一. 打印图片属性、设置图片存储路径
代码如下:
#打印图片的属性、保存图片位置
import cv2 as cv
import numpy as np #numpy是一个开源的Python科学计算库
def get_image_info(image):
print(type(image)) #type() 函数如果只有第一个参数则返回对象的类型 在这里函数显示图片类型为 numpy类型的数组
print(image.shape)
#图像矩阵的shape属性表示图像的大小,shape会返回tuple元组,
# 第一个元素表示矩阵行数,第二个元组表示矩阵列数,第三个元素是3,表示像素值由光的三原色组成
print(image.size) #返回图像的大小,size的具体值为shape三个元素的乘积
print(image.dtype) #数组元素的类型通过dtype属性获得
pixel_data=np.array(image)
print(pixel_data) # 打印图片矩阵 N维数组对象即矩阵对象
src=cv.imread('E:\imageload\example.png')
cv.namedWindow('input_image', cv.WINDOW_AUTOSIZE)
cv.imshow('input_image', src)
get_image_info(src)
cv.imwrite("E:/example.png",src) #图片存储路径
# gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY) #使图片颜色变为灰度
# cv.imwrite("E:/example.png",gray)
cv.waitKey(0)
cv.destroyAllWindows()
二.电脑摄像头的调取和显示
代码如下:
#电脑摄像头的调取和显示
import cv2 as cv
def video_demo():
capture=cv.VideoCapture(0)
#参数为视频设备的id ,如果只有一个摄像头可以填0,表示打开默认的摄像头 这里的参数也可以是视频文件名路径,只要把视频文件的具体路径写进去就好
while True: #只要没跳出循环,则会循环播放每一帧 ,waitKey(10)表示间隔10ms
ret, frame = capture.read()
#read函数读取视频(摄像头)的某帧,它能返回两个参数. 第一个参数是bool型的ret,其值为True或False,代表有没有读到图片. 第二个参数是frame,是当前截取一帧的图片
frame=cv.flip(frame,1)
#翻转 0:沿X轴翻转(垂直翻转) 大于0:沿Y轴翻转(水平翻转) 小于0:先沿X轴翻转,再沿Y轴翻转,等价于旋转180°
cv.imshow("video",frame)
pc=cv.waitKey(10) #超过10ms, waitKey函数会返回-1,如果10ms内在键盘按了某个按键,则 waitKey函数会返回对应按键的ASCII码值,ASCII码值一定大于0
if pc>0:
break
# if cv.waitKey(10) == ord('z'): # 键盘输入z退出窗口,不按z点击关闭会一直关不掉 也可以设置成其他键。 ord()函数返回对应字符的ASCII数值
# break
video_demo()
cv.destroyAllWindows()
来源:https://www.cnblogs.com/FHC1994/p/8994728.html


猜你喜欢
- 我就废话不多说了,直接上代码吧!其实也不难,使用tertools.chain将参数链接起来即可import itertools...self
- 但Insus.NET想到的是,从下面的SQL语句,就可以查询到数据库大小。因此分享于此。 代码如下:SELECT DB_NAME
- 发现问题当我用pip安装好opencv-pyton后,我激动得在python项目中导入cv2就像这样:import cv2 as cvbut
- var long2="1988-0w-07";alert(long2.substring(0,4)+"----
- 前端技术层(图片有点偏激,仅供参考)Javascript和DOM关系很暧昧,弄不明白!CSS和HTML
- 在pandas中创建category类型数据的几种方法之详细攻略 T1、直接创建 category类型数据可知,在category
- --为空的值text ntext select * from lf_newsNg_utf where datalength(newsCont
- 条条框框的报表页面枯燥乏味?不妨给页面加点“新意”!前阵子,在看天气预报的时候,发现免费天气预报的调用代码,瞬间想到可以给我开发的报表“润润
- 一、前言最近忙着在服务器上跑代码学习积累了一些经验技巧这里用来记录分享给大家二、创建虚拟环境用来跑代码下面我会以一个实例为模板,学习完之后,
- 函数内省(function introspection)除了__doc__属性, 函数对象还有很多属性,对于下面的函数,可以使用dir()查
- 本文为大家分享了python数据分析数据标准化及离散化的具体内容,供大家参考,具体内容如下标准化1、离差标准化是对原始数据的线性变换,使结果
- Anaconda是一个开源的Python发行版本,包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等。其
- 使用场景我有两个GPU卡。我希望我两个GPU能并行运行两个网络模型。代码错误代码1:#对于0号GPUos.environ['CUDA
- 有些小伙伴跟小编讨论了python中使用多线程原理的问题,就聊到了关于python多线程的弊端问题,这点可能在使用的过程中大家会能感觉到。而
- 本文为大家分享了Navicat for SQLite导入csv中文数据的具体方法,供大家参考,具体内容如下1.用Notepad++打开csv
- 在获取 IP 时,已经成功将各个网站的代理 IP 获取下来了,然后就需要一个检测模块来对所有的代理进行一轮轮的检测,检测可用就设置为满分,不
- Python中函数参数的定义主要有四种方式:1. F(arg1,arg2,…)这是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用
- 迭代器迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引
- 使用RS232串口线或者是RS232转USB的这一类的接口,会需要com口作为接口来进行输入输出调式,写了个脚本来控制COM口,用到了Pyt
- 边缘检测一般是识别目标图像中亮度变化明显的像素点. 因为显著变化的像素点通常反映了图像变化比较重要的地方.1. Canny 边缘检测理论Ca