当前位置: 移动技术网 > IT编程>脚本编程>Python > 在python3下使用OpenCV 抓取摄像头图像并实时显示3色直方图

在python3下使用OpenCV 抓取摄像头图像并实时显示3色直方图

2018年07月07日  | 移动技术网IT编程  | 我要评论

果子狸,毛小平简历,一站到底网上答题

以下代码为在Python3环境下利用OpenCV 抓取摄像头的实时图像, 通过OpenCV的 calHist函数计算直方图, 并显示在3个不同窗口中.

import cv2
import numpy as np
from matplotlib import pyplot as plt
import time

cap  = cv2.VideoCapture(0)
for i in range(0, 19):
     print(cap.get(i))

while(1):
     ret, frame = cap.read()
     # color = ('b', 'g', 'r')
     color = ((255,0,0), (0,255,0), (0,0,255))
    

    for i, col in enumerate(color):
         hist = cv2.calcHist([frame], [i], None, [256], [0, 256])
         minVal, maxVal,minPos,maxPos = cv2.minMaxLoc(hist)
         # print(minVal, maxVal,minPos,maxPos)
         histImage = np.zeros([256,256,3], np.uint8)
         for x in range(256):
             cv2.line(histImage, (x,256), (x, 256-(hist[x]/maxVal)*250), col)
         cv2.imshow("Hist{}".format(i), histImage)
    
     cv2.imshow("Capture", frame)
     # time.sleep(0.01)

    key = cv2.waitKey(1)
     if key & 0xff == ord('q') or key == 27:
         print(frame.shape,ret)
         break
cap.release()
cv2.destroyAllWindows()


cnblogs Tags: ,

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网