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 ...
随机推荐
- vue 点击当前的标签,获取当前标签的value值
点击当前的标签,获取当前标签的value值 html <p class="title" v-for="(item, i) in items" :key=& ...
- github的使用,利用git shell命令行创建仓库并上传
一.登录到github,新建一个版本仓库 二.在“Repository name”一栏里填写版本仓库的名称,如”test”,Description栏是描述,可填可不填. 默认访问权限为公共,点击”Cr ...
- Count(广工14届竞赛)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6470 这道题目题解就扔了个矩阵快速幂啥都没写.....这题解是太看得懂我这个弱鸡了. 既然是矩阵快速幂 ...
- 虚拟地址IP
http://blog.csdn.net/whycold/article/details/11898249
- Java Selenium - 元素定位(一)
一,单个元素对象定位 Webdriver通过findElement() , findElements()等方法调用By对象来定位和查询元素 , findElement()返回一个元素对象,否则抛出异常 ...
- NodeJs--HTTP源码分析
在github上按下按键t,就可以呼出仓库搜索的面板(在大型项目中方便检索文件),检索出http.js文件检索出来,通过ctrl+F来搜索某个方法. _http_outgoing 带下划线的是私有模块 ...
- smali加入日志
const-string v0, "aaatag"const-string v1, "msg"invoke-static {v0,v1}, Landroid/u ...
- iOS - (集成支付宝第三方SDK大坑总结)
其实集成支付宝相对于集成微信支付来说,支付宝算是简单的了,后续有空再去研究微信支付,现目前先总结一下集成支付宝所遇到的坑,其实支付宝的坑也不算太多,细算下来大概5-6个左右,但是其报错方式有点恶心,不 ...
- Browsersync结合gulp和nodemon实现express全栈自动刷新
Browsersync能让浏览器实时.快速响应你的文件更改(html.js.css.sass.less等)并自动刷新页面.更重要的是 Browsersync可以同时在PC.平板.手机等设备下进项调试. ...
- jQuery-插入内容-新增内容
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...