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获取单个程序CPU使用情况趋势图
Mar 10 Python
Python中几种操作字符串的方法的介绍
Apr 09 Python
Python代码解决RenderView窗口not found问题
Aug 28 Python
Python实现查找匹配项作处理后再替换回去的方法
Jun 10 Python
python实现kMeans算法
Dec 21 Python
numpy的文件存储.npy .npz 文件详解
Jul 09 Python
python交换两个变量的值方法
Jan 12 Python
PyQt5 QListWidget选择多项并返回的实例
Jun 17 Python
Django 缓存配置Redis使用详解
Jul 23 Python
python实现图片插入文字
Nov 26 Python
python中有关时间日期格式转换问题
Dec 25 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
Nov 11 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中用正则表达式清除字符串的空白
2011/01/17 PHP
php生成zip压缩文件的方法详解
2013/06/09 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
Smarty高级应用之缓存操作技巧分析
2016/05/14 PHP
php格式文件打开的四种方法
2018/02/24 PHP
将HTMLCollection/NodeList/伪数组转换成数组的实现方法
2011/06/20 Javascript
Jquery选择子控件"大于号"和" "区别介绍及使用示例
2013/06/25 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
2020/12/24 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
2016/12/25 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
六个窍门助你提高Python运行效率
2015/06/09 Python
Python 功能和特点(新手必学)
2015/12/30 Python
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
python模拟表单提交登录图书馆
2018/04/27 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
Python 如何批量更新已安装的库
2020/05/26 Python
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
广州盈通面试题
2015/12/05 面试题
现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
2012/11/09 面试题
建筑专业自我鉴定
2013/10/22 职场文书
化工机械应届生求职信
2013/11/04 职场文书
高中政治教学反思
2014/01/18 职场文书
python爬取新闻门户网站的示例
2021/04/25 Python
Mysql开启外网访问
2022/05/15 MySQL