温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中怎么调用摄像头显示图像

发布时间:2021-06-16 15:56:43 来源:亿速云 阅读:198 作者:Leah 栏目:开发技术

这篇文章将为大家详细讲解有关python中怎么调用摄像头显示图像,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

如下所示:

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中怎么调用摄像头显示图像就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI