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正则表达式介绍
Aug 06 Python
用Python编写脚本使IE实现代理上网的教程
Apr 23 Python
Python3.6 Schedule模块定时任务(实例讲解)
Nov 09 Python
python调用系统ffmpeg实现视频截图、http发送
Mar 06 Python
详解Python3.6的py文件打包生成exe
Jul 13 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
Apr 26 Python
python基于opencv检测程序运行效率
Dec 28 Python
使用TensorFlow直接获取处理MNIST数据方式
Feb 10 Python
python中的 zip函数详解及用法举例
Feb 16 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
Mar 27 Python
python读取图像矩阵文件并转换为向量实例
Jun 18 Python
python绘制分布折线图的示例
Sep 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
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
PHP最常用的正则表达式
2017/02/13 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
浅谈js中的引用和复制(传值和传址)
2016/09/18 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
解决angularjs WdatePicker ng-model的问题
2018/09/13 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
[02:41]2015国际邀请赛中国区预选赛观战指南
2015/05/20 DOTA
python逐行读取文件内容的三种方法
2014/01/20 Python
python提取内容关键词的方法
2015/03/16 Python
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
Python使用matplotlib实现绘制自定义图形功能示例
2018/01/18 Python
详解Django中间件的5种自定义方法
2018/07/26 Python
python binascii 进制转换实例
2019/06/12 Python
Flask配置Cors跨域的实现
2019/07/12 Python
在pycharm下设置自己的个性模版方法
2019/07/15 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
3种适用于Python的疯狂秘密武器及原因解析
2020/04/29 Python
python 实现逻辑回归
2020/12/30 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
我的大学生活职业生涯规划
2014/01/02 职场文书
评析教师个人的自我评价
2014/02/19 职场文书
工程项目建议书范文
2014/03/12 职场文书
2019年最新七夕唯美祝福语(60条)
2019/07/22 职场文书