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 相关文章推荐
使用Node.js和Socket.IO扩展Django的实时处理功能
Apr 20 Python
Python 迭代器工具包【推荐】
May 06 Python
python学生管理系统代码实现
Apr 05 Python
详谈在flask中使用jsonify和json.dumps的区别
Mar 26 Python
Python使用pip安装pySerial串口通讯模块
Apr 20 Python
Python操作redis实例小结【String、Hash、List、Set等】
May 16 Python
python配置文件写入过程详解
Oct 19 Python
pytorch 实现删除tensor中的指定行列
Jan 13 Python
Django用数据库表反向生成models类知识点详解
Mar 25 Python
Python第三方库的几种安装方式(小结)
Apr 03 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
Apr 22 Python
python openCV实现摄像头获取人脸图片
Aug 20 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
简单实现限定phpmyadmin访问ip的方法
2013/03/05 PHP
浅析PHP开发规范
2018/02/05 PHP
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
Jquery动态添加及删除页面节点元素示例代码
2014/06/16 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
jquery实现自定义图片裁剪功能【推荐】
2017/03/08 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
JS中跳出循环的示例代码
2017/09/14 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
2020/08/21 Javascript
vue filter 完美时间日期格式的代码
2019/08/14 Javascript
[03:20]2015国际邀请赛全明星表演赛
2015/08/08 DOTA
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
Python 编码处理-str与Unicode的区别
2016/09/06 Python
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
国贸专业个人求职信分享
2013/12/04 职场文书
毕业生自荐书
2014/02/02 职场文书
数控技术应用个人求职信范文
2014/02/03 职场文书
班主任新年寄语
2014/04/04 职场文书
《荷花》教学反思
2014/04/16 职场文书
普通党员对照检查材料
2014/08/28 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
python简单验证码识别的实现过程
2021/06/20 Python
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python