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使用email模块对邮件进行编码和解码的实例教程
Jul 01 Python
关于反爬虫的一些简单总结
Dec 13 Python
Python人脸识别初探
Dec 21 Python
python paramiko利用sftp上传目录到远程的实例
Jan 03 Python
pyQt5实时刷新界面的示例
Jun 25 Python
Python3将数据保存为txt文件的方法
Sep 12 Python
python 实现多线程下载视频的代码
Nov 15 Python
python hash每次调用结果不同的原因
Nov 21 Python
Python新手学习函数默认参数设置
Jun 03 Python
Python3 ffmpeg视频转换工具使用方法解析
Aug 10 Python
Pytorch 如何加速Dataloader提升数据读取速度
May 28 Python
pytorch 梯度NAN异常值的解决方案
Jun 05 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表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解
2013/06/06 PHP
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
PHP基于回溯算法解决n皇后问题的方法示例
2017/11/07 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
有一段有意思的代码-javascript现实多行信息
2007/08/26 Javascript
JavaScript的public、private和privileged模式
2009/12/28 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
cnblogs 代码高亮显示后的代码复制问题解决实现代码
2011/12/14 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
js 调用百度地图api并在地图上进行打点添加标注
2014/05/13 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
IntersectionObserver API 详解篇
2016/12/11 Javascript
javascript数据类型详解
2017/02/07 Javascript
微信小程序 中wx.chooseAddress(OBJECT)实例详解
2017/03/31 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
详解如何使用router-link对象方式传递参数?
2019/05/02 Javascript
[01:01:25]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第三局
2016/02/27 DOTA
讲解Python中的递归函数
2015/04/27 Python
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
简单解析Django框架中的表单验证
2015/07/17 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
Django框架表单操作实例分析
2019/11/04 Python
Pytorch训练过程出现nan的解决方式
2020/01/02 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
Django 后台带有字典的列表数据与页面js交互实例
2020/04/03 Python
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
中药专业大学生医药工作求职信
2013/10/25 职场文书
工会主席岗位责任制
2014/02/11 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
python自动计算图像数据集的RGB均值
2021/06/18 Python