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()
Python+OpenCV图像处理(二)——打印图片属性、设置图片存储路径、电脑摄像头的调取和显示的更多相关文章
- Python+OpenCV图像处理(一)
Python+OpenCV图像处理(一): 读取,写入和展示图片 调用摄像头拍照 调用摄像头录制视频 1. 读取.写入和展示图片 图像读入:cv2.imread() 使用函数cv2.imread() ...
- Python+OpenCV图像处理(一)——读取显示一张图片
先在此处先声明,后面学习python+opencv图像处理时均参考这位博主的博文https://blog.csdn.net/u011321546/article/category/7495016/2? ...
- python skimage图像处理(二)
python skimage图像处理(二) This blog is from: https://www.jianshu.com/p/66e6261f0279 图像简单滤波 对图像进行滤波,可以有两 ...
- Appium学习实践(二)Python简单脚本以及元素的属性设置
1.简单的Python脚本 Appium中的设置与Appium学习实践(一)简易运行Appium中的一致 Launch后,执行脚本 #coding:utf-8 import unittest impo ...
- Python+OpenCV图像处理(十二)—— 图像梯度
简介:图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导. Sobel算子是普通一阶差分,是基于寻找梯度强度.拉普拉斯算子(二阶差分)是基于过零点检测.通过计算梯度,设置阀值, ...
- Python+OpenCV图像处理(十)—— 图像二值化
简介:图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程. 一.普通图像二值化 代码如下: import cv2 as cv import numpy ...
- Python+OpenCV图像处理(三)—— Numpy数组操作图片
一.改变图片每个像素点每个通道的灰度值 (一) 代码如下: #遍历访问图片每个像素点,并修改相应的RGB import cv2 as cv def access_pixels(image): prin ...
- Python+OpenCV图像处理(六)—— ROI与泛洪填充
一.ROI ROI(region of interest),感兴趣区域.机器视觉.图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI. 代码如下 ...
- Python+OpenCV图像处理(四)—— 色彩空间
一.色彩空间的转换 代码如下: #色彩空间转换 import cv2 as cv def color_space_demo(img): gray = cv.cvtColor(img, cv.COLOR ...
随机推荐
- 20180824 SSRS Line Chart 绘制
(很多时候我都会只记录遇到的问题点,很少详细的写整个过程) 1. 安装ReportBulider 客户端,不需要填写server url ,可以先放空,后面再维护. 安装包官网可以下载,是免费的,现在 ...
- vue中less的使用
1.安装:npm install less less-loader --save 2.修改webpack.config.js文件,配置loader加载依赖,让其支持外部的less,在原来的代码上添加 ...
- CMDB资产管理
.传统运维和自动化运维的区别: 传统运维: 1.项目上线: a.产品经理前期调研(需求分析) b.和开发进行评审 c.开发进行开发 d.测试进行测试 e.交给运维人员进行上线 上线: 直接将代码交给运 ...
- 小程 序swiper自适应宽高
https://blog.csdn.net/qq_31604363/article/details/73715944 小程 序swiper自适应宽高 小程 序swiper自适应宽高
- 万恶之源 - Python 自定义模块
自定义模块 我们今天来学习一下自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块啊 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组 ...
- javascript封装animate动画
面向对象式: Element.prototype.animate=animate; Element.prototype.getStyle=getStyle; function animate(json ...
- Sql注入基础原理介绍
说明:文章所有内容均截选自实验楼教程[Sql注入基础原理介绍]~ 实验原理 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击, ...
- [LeetCode] 566. Reshape the Matrix_Easy
In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a new o ...
- GBDT调参总结
一.GBDT类库弱学习器参数 二.回归 数据集:已知用户的30个特征,预测用户的信用值 from sklearn.ensemble import GradientBoostingRegressor f ...
- 惠普开源的通信测试工具Seagull的安装体会
1. 为省事起见,先下载安装包,发现依赖库版本太低,没法运行.于是源码编译安装.主要参考:https://github.com/codeghar/Seagull,似乎http://gull.sourc ...