捕获的视频上的颜色直方图均衡

时间:2014-03-04 06:05:37

标签: python opencv python-2.7 video histogram

我有这个代码在使用OpenCV 2.3.1和Python在Debian Linux中转换为灰度后从凸轮捕获的视频上执行直方图均衡。

cap=cv2.VideoCapture(0)

while(True):
  ret, frame=cap.read()
  cv2.imshow('frame', frame)
  if (cap.isOpened()):
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    gray = cv2.equalizeHist(gray)
    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
      break

cap.release()
cv2.destroyAllWindows()

我打算做的不是转换为灰度,而是想将其转换为HSI色彩空间,然后仅对强度参数执行均衡,最后将视频写回文件。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我不确定OpenCV是否提供RGB到HSI转换的功能(您可能使用HSV或HSL)。转换图像后,使用“拆分”功能。我没有将Python与OpenCV一起使用,但在C ++中,“split”函数返回一个Mat图像矢量,代表所有通道(例如H,S和V)。在此之后,在您希望的通道上执行所需的操作,并使用“合并”功能组合结果(您为函数提供图像数组并返回结果图像)。

我希望它可以帮到你!