Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头


Posted in Python onOctober 22, 2020

一. 打印图片属性、设置图片存储路径

代码如下:

#打印图片的属性、保存图片位置
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 相关文章推荐
python使用arp欺骗伪造网关的方法
Apr 24 Python
Python+django实现文件下载
Jan 17 Python
Python 爬虫爬取指定博客的所有文章
Feb 17 Python
python 网络编程常用代码段
Aug 28 Python
TensorFlow模型保存/载入的两种方法
Mar 08 Python
python实现拓扑排序的基本教程
Mar 11 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
Feb 01 Python
如何在Django配置文件里配置session链接
Aug 06 Python
Python Web框架之Django框架文件上传功能详解
Aug 16 Python
在pycharm中实现删除bookmark
Feb 14 Python
Jupyter notebook 远程配置及SSL加密教程
Apr 14 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 Python
Python基于内置函数type创建新类型
Oct 22 #Python
python使用ctypes库调用DLL动态链接库
Oct 22 #Python
Python通过len函数返回对象长度
Oct 22 #Python
python 还原梯度下降算法实现一维线性回归
Oct 22 #Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
Oct 22 #Python
python处理写入数据代码讲解
Oct 22 #Python
基于Python爬取股票数据过程详解
Oct 21 #Python
You might like
PHP操作文件的一些基本函数使用示例
2014/11/18 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
JS 有名函数表达式全面解析
2010/03/19 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
2016/05/10 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
使用jquery给指定的table动态添加一行、删除一行
2016/10/13 Javascript
js实现右键菜单功能
2016/11/28 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
详解关于react-redux中的connect用法介绍及原理解析
2017/09/11 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
JavaScript中将值转换为字符串的五种方法总结
2019/06/06 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
[22:20]初生之犊-TI4第5名LGD战队纪录片
2014/08/13 DOTA
Python判断字符串与大小写转换
2015/06/08 Python
python 中pyqt5 树节点点击实现多窗口切换问题
2019/07/04 Python
python 在sql语句中使用%s,%d,%f说明
2020/06/06 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
python 监控logcat关键字功能
2020/09/04 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
Puritan’s Pride(普丽普莱)官方网站:美国最大最全的保健品公司之一
2016/10/23 全球购物
团队精神口号
2014/06/06 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
技术入股合作协议书
2014/10/07 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
Python实现学生管理系统(面向对象版)
2021/06/24 Python