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中处理字符串之ljust()方法的使用简介
May 19 Python
Python图算法实例分析
Aug 13 Python
利用python将图片版PDF转文字版PDF
May 03 Python
如何用C代码给Python写扩展库(Cython)
May 17 Python
Python制作词云图代码实例
Sep 09 Python
用pytorch的nn.Module构造简单全链接层实例
Jan 14 Python
tensorflow 实现数据类型转换
Feb 17 Python
Python模块/包/库安装的六种方法及区别
Feb 24 Python
Selenium启动Chrome时配置选项详解
Mar 18 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
Apr 27 Python
Python生成九宫格图片的示例代码
Apr 14 Python
python中tkinter复选框使用操作
Nov 11 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视频拍照上传头像功能实现代码分享
2015/10/08 PHP
PHP实现的一致性哈希算法完整实例
2015/11/14 PHP
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
微信小程序实现获取用户信息并存入数据库操作示例
2019/05/07 Javascript
js动态获取时间的方法分析
2019/08/02 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
JavaScript 类的封装操作示例详解
2020/05/16 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
在pycharm中debug 实时查看数据操作(交互式)
2020/06/09 Python
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
SQL Server面试题
2016/10/17 面试题
操行评语大全
2014/04/30 职场文书
环境工程专业毕业生求职信
2014/09/30 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
Mysql数据库命令大全
2021/05/26 MySQL
pytorch 如何使用batch训练lstm网络
2021/05/28 Python
详解Redis集群搭建的三种方式
2021/05/31 Redis
浅谈Python中的正则表达式
2021/06/28 Python
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python