python调用摄像头显示图像的实例


Posted in Python onAugust 03, 2018

如下所示:

import cv2
import numpy as np

bins = np.arange(256).reshape(256,1)

def hist_curve(im):
 h = np.zeros((300,256,3))
 if len(im.shape) == 2:
  color = [(255,255,255)]
 elif im.shape[2] == 3:
  color = [ (255,0,0),(0,255,0),(0,0,255) ]
 for ch, col in enumerate(color):
  hist_item = cv2.calcHist([im],[ch],None,[256],[0,256])
  cv2.normalize(hist_item,hist_item,0,255,cv2.NORM_MINMAX)
  hist=np.int32(np.around(hist_item))
  pts = np.int32(np.column_stack((bins,hist)))
  cv2.polylines(h,[pts],False,col)
 y=np.flipud(h)
 return y

def hist_lines(im):
 h = np.zeros((300,256,3))
 if len(im.shape)!=2:
  print "hist_lines applicable only for grayscale images"
  #print "so converting image to grayscale for representation"
  im = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
 hist_item = cv2.calcHist([im],[0],None,[256],[0,256])
 cv2.normalize(hist_item,hist_item,0,255,cv2.NORM_MINMAX)
 hist=np.int32(np.around(hist_item))
 for x,y in enumerate(hist):
  cv2.line(h,(x,0),(x,y),(255,255,255))
 y = np.flipud(h)
 return y


if __name__ == '__main__':

 import sys

 if len(sys.argv)>1:
  im = cv2.imread(sys.argv[1])
 else :
  im = cv2.imread('../cpp/lena.jpg')
  print "usage : python hist.py <image_file>"


 gray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)


 print ''' Histogram plotting \n
 Keymap :\n
 a - show histogram for color image in curve mode \n
 b - show histogram in bin mode \n
 c - show equalized histogram (always in bin mode) \n
 d - show histogram for color image in curve mode \n
 e - show histogram for a normalized image in curve mode \n
 Esc - exit \n
 '''

 cv2.imshow('image',im)
 while True:
  k = cv2.waitKey(0)&0xFF
  if k == ord('a'):
   curve = hist_curve(im)
   cv2.imshow('histogram',curve)
   cv2.imshow('image',im)
   print 'a'
  elif k == ord('b'):
   print 'b'
   lines = hist_lines(im)
   cv2.imshow('histogram',lines)
   cv2.imshow('image',gray)
  elif k == ord('c'):
   print 'c'
   equ = cv2.equalizeHist(gray)
   lines = hist_lines(equ)
   cv2.imshow('histogram',lines)
   cv2.imshow('image',equ)
  elif k == ord('d'):
   print 'd'
   curve = hist_curve(gray)
   cv2.imshow('histogram',curve)
   cv2.imshow('image',gray)
  elif k == ord('e'):
   print 'e'
   norm = cv2.normalize(gray,alpha = 0,beta = 255,norm_type = cv2.NORM_MINMAX)
   lines = hist_lines(norm)
   cv2.imshow('histogram',lines)
   cv2.imshow('image',norm)
  elif k == 27:
   print 'ESC'
   cv2.destroyAllWindows()
   break
 cv2.destroyAllWindows()

以上这篇python调用摄像头显示图像的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python多线程实例教程
Sep 06 Python
跟老齐学Python之Python安装
Sep 12 Python
Python实现CET查分的方法
Mar 10 Python
Django Admin 实现外键过滤的方法
Sep 29 Python
Python中最大最小赋值小技巧(分享)
Dec 23 Python
python自动12306抢票软件实现代码
Feb 24 Python
使用python获取csv文本的某行或某列数据的实例
Apr 03 Python
Django之模型层多表操作的实现
Jan 08 Python
Python TestCase中的断言方法介绍
May 02 Python
Django1.11自带分页器paginator的使用方法
Oct 31 Python
Python configparser模块常用方法解析
May 22 Python
python状态机transitions库详解
Jun 02 Python
python开启摄像头以及深度学习实现目标检测方法
Aug 03 #Python
Python函数参数操作详解
Aug 03 #Python
利用python打开摄像头及颜色检测方法
Aug 03 #Python
numpy添加新的维度:newaxis的方法
Aug 02 #Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
Aug 02 #Python
对numpy中的transpose和swapaxes函数详解
Aug 02 #Python
Numpy 改变数组维度的几种方法小结
Aug 02 #Python
You might like
PHP中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
php通过各种函数判断0和空
2020/07/04 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
两个比较有用的Javascript工具函数代码
2010/02/17 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
jQuery学习笔记之2个小技巧
2015/01/19 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
JS获取一个未知DIV高度的方法
2016/08/09 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
手机端js和html5刮刮卡效果
2020/09/29 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
原生js轮播特效
2017/05/18 Javascript
JS实现带动画的回到顶部效果
2017/12/28 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
2019/04/11 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
OpenLayer3自定义测量控件MeasureTool
2020/09/28 Javascript
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
Python利用ElementTree模块处理XML的方法详解
2017/08/31 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
django使用admin站点上传图片的实例
2019/07/28 Python
python多线程同步实例教程
2019/08/11 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
tensorflow常用函数API介绍
2020/04/19 Python
keras实现多种分类网络的方式
2020/06/11 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
Michael Kors英国官网:美国奢侈品品牌
2019/11/13 全球购物
企业授权委托书范本
2014/04/02 职场文书
建筑施工安全生产责任书
2014/07/22 职场文书