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从ftp下载数据保存实例
Nov 20 Python
Django自定义插件实现网站登录验证码功能
Apr 19 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
Feb 05 Python
Python3.6实现连接mysql或mariadb的方法分析
May 18 Python
python使用turtle库绘制树
Jun 25 Python
python读写LMDB文件的方法
Jul 02 Python
python 文件转成16进制数组的实例
Jul 09 Python
python爬取酷狗音乐排行榜
Feb 20 Python
Python常见数字运算操作实例小结
Mar 22 Python
150行python代码实现贪吃蛇游戏
Apr 24 Python
python中scipy.stats产生随机数实例讲解
Feb 19 Python
Python绘制词云图之可视化神器pyecharts的方法
Feb 23 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
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
php定时计划任务的实现方法详解
2013/06/06 PHP
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
PHP错误处理函数
2016/04/03 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
JS来动态的修改url实现对url的增删查改
2014/09/05 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
jquery设置表单元素为不可用的简单代码
2016/07/04 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
2017/12/08 Javascript
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
[02:38]DOTA2英雄基础教程 噬魂鬼
2014/01/03 DOTA
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
python正则表达式的使用
2017/06/12 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
Python Dataframe 指定多列去重、求差集的方法
2018/07/10 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
Python turtle绘画象棋棋盘
2019/08/21 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
服装设计师求职信
2014/06/04 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
关于教师节的广播稿
2015/08/19 职场文书
安全生产培训心得体会
2016/01/18 职场文书
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python