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中input和raw_input的一点区别
Oct 21 Python
在Python中利用Pandas库处理大数据的简单介绍
Apr 07 Python
在Python的Django框架中显示对象子集的方法
Jul 21 Python
简介二分查找算法与相关的Python实现示例
Aug 26 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
Jul 02 Python
python下setuptools的安装详解及No module named setuptools的解决方法
Jul 06 Python
Python使用装饰器模拟用户登陆验证功能示例
Aug 24 Python
python+pygame实现坦克大战
Sep 10 Python
Django实现文件上传下载功能
Oct 06 Python
使用Python的Turtle库绘制森林的实例
Dec 18 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 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中调用JAVA
2006/10/09 PHP
php array_unique之后json_encode需要注意
2011/01/02 PHP
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
php导出csv文件,可导出前导0实例代码
2016/11/16 PHP
PHP实现添加购物车功能
2017/03/06 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
JavaScript 快捷键设置实现代码
2009/03/13 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
js中取得变量绝对值的方法
2015/01/03 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
原生js实现日期计算器功能
2017/02/17 Javascript
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
vue element 中的table动态渲染实现(动态表头)
2019/11/21 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
Python多线程编程(三):threading.Thread类的重要函数和方法
2015/04/05 Python
Python中线程编程之threading模块的使用详解
2015/06/23 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
Python使用reportlab模块生成PDF格式的文档
2019/03/11 Python
python检测服务器端口代码实例
2019/08/31 Python
Python中的 ansible 动态Inventory 脚本
2020/01/19 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
高考考python编程是真的吗
2020/07/20 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
材料成型专业个人求职信范文
2013/09/25 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
2014年新教师工作总结
2014/11/08 职场文书
2015年助残日活动总结
2015/03/27 职场文书
2015年公司保安年终工作总结
2015/05/14 职场文书
python文件目录操作之os模块
2021/05/08 Python