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实现ip查询示例
Mar 26 Python
详解PyTorch批训练及优化器比较
Apr 28 Python
python判断完全平方数的方法
Nov 13 Python
pygame游戏之旅 添加icon和bgm音效的方法
Nov 21 Python
关于Python 的简单栅格图像边界提取方法
Jul 05 Python
用python写测试数据文件过程解析
Sep 25 Python
pandas中的ExcelWriter和ExcelFile的实现方法
Apr 24 Python
Python操作Word批量生成合同的实现示例
Aug 28 Python
详解Django ORM引发的数据库N+1性能问题
Oct 12 Python
python本地文件服务器实例教程
May 02 Python
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
Jun 11 Python
关于python中readlines函数的参数hint的相关知识总结
Jun 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循环获取GET和POST值的代码
2008/04/09 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
php实现求相对时间函数
2015/06/15 PHP
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
angularjs基础教程
2014/12/25 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
[06:21]2014DOTA2国际邀请赛 庆祝VG首阶段领跑;B叔为挣牛排半夜整理情报
2014/07/13 DOTA
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
python urllib爬取百度云连接的实例代码
2017/06/19 Python
Django中使用Celery的教程详解
2018/08/24 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
学生出入校管理制度
2014/01/16 职场文书
库房管理员岗位职责
2014/03/09 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
2014第二批党的群众路线教育实践活动对照检查材料思想汇报
2014/09/18 职场文书
财务会计实训报告
2014/11/05 职场文书
花木兰观后感
2015/06/10 职场文书
Django显示可视化图表的实践
2021/05/10 Python
javascript之Object.assign()的痛点分析
2022/03/03 Javascript