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的Django框架的视图中使用Session的方法
Jul 23 Python
Python使用matplotlib绘制余弦的散点图示例
Mar 14 Python
python中使用iterrows()对dataframe进行遍历的实例
Jun 09 Python
python 数字类型和字符串类型的相互转换实例
Jul 17 Python
Python判断一个三位数是否为水仙花数的示例
Nov 13 Python
对python3.4 字符串转16进制的实例详解
Jun 12 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
Jun 27 Python
OpenCV 边缘检测
Jul 10 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
Jul 17 Python
python解析命令行参数的三种方法详解
Nov 29 Python
python 写一个文件分发小程序
Dec 05 Python
matplotlib部件之套索Lasso的使用
Feb 24 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格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
PHP递归创建多级目录
2015/11/05 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
JS判断不能为空实例代码
2013/11/26 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
js 函数性能比较方法
2020/08/24 Javascript
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
python列表生成式与列表生成器的使用
2018/02/23 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
python3.6的venv模块使用详解
2018/08/01 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
预备党员转正考核材料
2014/06/03 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
社区班子个人对照检查材料思想汇报
2014/10/07 职场文书
爱情保证书
2015/01/17 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
浅析Python OpenCV三种滤镜效果
2022/04/11 Python
spring IOC容器的Bean管理XML自动装配过程
2022/05/30 Java/Android