ffmpeg : 적응 적으로 스트레치 대비


2

열악한 조건에서 녹화 된 (컬러) 비디오를 고려하십시오. 프레임의 가장 밝은 픽셀은 순수한 흰색보다 훨씬 낮고 가장 어두운 픽셀은 순수한 검은 색보다 훨씬 높습니다. 오디오 컴프레서 / 리미터와 같이 각 프레임의 대비를 최대 밝기 범위에 가깝게 늘릴 수 있습니까? 많은 필터 중 일부를 사용하여 ffmpeg 에서이 작업을 수행 할 수 있습니까?

물론 각 프레임의 가장 밝은 값을 흰색으로, 가장 어둡게에서 검은 색으로 슬래 밍하면 노출이 1910 년에 촬영 된 것과 같이 더듬 거립니다. 프레임의 대비 를 늘릴 정도 는 주변 프레임 의 가장 밝은 값과 가장 어두운 값 ( + -10 초)에 따라 달라집니다 .

모든 프레임을 추출하고 imagemagick을 사용하여 각 프레임의 흰색 및 검은 색 점을 가져 와서 배열에 저장하고, 배열을 매끄럽게 만들고, imagemagick으로 각 프레임의 대비를 다시 늘리고 비디오를 다시 만들 수 있습니다. 그러나 그것은 긍정적으로 중세 인 것 같습니다.


histeq은 당신이 원하는 가까이 온다. 그러나 다양한 LUT 필터와 lut3d 도 볼 수 있습니다 .
Rajib

필터 'histeq'는 문서에서 유망한 것으로 보입니다. 그러나 libavfilter / vf_histeq.c filter_frame ()을 살펴보면 필터 '곡선', 'lut / lutrgb / lutyuv'및 (나는 생각합니다) 'lut3d'와 같습니다. 이는 이전 및 이후 프레임의 픽셀을 무시합니다. 'histeq'는 한 번에 하나의 프레임 만 히스토그램을 만듭니다. (그러나 'histeq' 기술적 으로이 질문에 대답합니다!)
Camille Goudeseune

당신이 imagemagick 같은 일을하는 비디오의 길이에 걸쳐 그것을 평균화하려고한다면, 그것은 imagemagick이든 ffmpeg이든 그것을 수행해야합니다. 주변 비디오의 히스토그램을 얻으려면 모든 주변 프레임 함께 디코딩되고 평균화되어야합니다.
stib

@Rajib, 답변으로 histeq를 게시하십시오. 그래서 받아 들일 수 있습니다. AFAIK ffmpeg의 필터는 이전 또는 연속 프레임을 입력으로 사용하지 않습니다.
Camille Goudeseune

답변:


1

histeq은 당신이 원하는 가까이 온다. 그러나 다양한 LUT 필터와 lut3d도 볼 수 있습니다.

lut 필터는 실제로 프레임을보고 사용할 값을 결정할 수있어보다 사용자 정의 할 수 있습니다. 더욱이, 입력 물질 viz-a-viz 휘도 레벨에 넓은 차이가있는 경우, "프레임 당"보정을 적용 할 때 출력이 저 더링 될 수있다. 모든 프레임에 균일 한 보정 강도를 적용하면보다 부드러운 결과를 얻을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.