【发布时间】:2019-12-20 02:37:09
【问题描述】:
我正在处理眼科手术视频,其中同时出现了手术工具及其阴影;由于手术手电筒用于照亮手术区域,因此框架具有非常特殊的光线条件。 我正在尝试检测工具的阴影,以便能够从一帧到下一帧对其进行跟踪,但我没有成功。 检测阴影最有效和最常用的技术是什么?
我尝试使用阈值来隔离较暗的区域,使用 CLAHE 来增强对比度,我尝试使用不同的色彩空间来更好地划分强度和亮度。我也试过背景减法。
我想要一个阴影的二进制地图或位于阴影上的关键点列表,以便能够检测和跟踪它。 This is an example of the frames I'm working on - This is another frame - And another one
如您所见,阴影并不总是出现在画面中,有时也不是那么锐利。
This is a gif of a video I'm working on - 只关注光线条件和阴影,质量非常低,因为我将它压缩成GIF,真正的视频是FullHD。
以下是用于BackgrounSubtractMOG2的代码sn-p:
def run(video_src):
cam = cv.VideoCapture(video_src)
cam.set(cv.CAP_PROP_FPS, 10)
subtractor = cv.createBackgroundSubtractorMOG2(detectShadows=True)
frame_idx = 0
l_edge, r_edge = 0, -1
while True:
_, frame = cam.read()
if frame_idx == 0:
l_edge, r_edge = crop(frame)
frame_idx += 1
frame = frame[:1000, l_edge:r_edge, :]
fgMask = subtractor.apply(frame)
cv.imshow('FG Mask', fgMask)
cv.imshow('Frame', frame)
cv.waitKey()
【问题讨论】:
标签: python opencv image-processing scikit-image