我有这个代码在使用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色彩空间,然后仅对强度参数执行均衡,最后将视频写回文件。任何帮助将不胜感激。
答案 0 :(得分:1)
我不确定OpenCV是否提供RGB到HSI转换的功能(您可能使用HSV或HSL)。转换图像后,使用“拆分”功能。我没有将Python与OpenCV一起使用,但在C ++中,“split”函数返回一个Mat图像矢量,代表所有通道(例如H,S和V)。在此之后,在您希望的通道上执行所需的操作,并使用“合并”功能组合结果(您为函数提供图像数组并返回结果图像)。
我希望它可以帮到你!