2017-05-14 2 views
1

ffmpeg 안의 각 픽셀의 rgb 값을 수정하고 싶습니다. 두 개의 독립적 인 표현 expr_2이다ffmpeg에서 임의의 픽셀 값을 설정하는 방법은 무엇입니까?

A[x + expr_1][y] = expr_2

X 및 Y는 현재의 샘플링 된 화소이다

하기, 픽셀 필요 수정할하고 expr_1 입력 프레임이다

는 I는 다음의 기능을 구현해야 .

geq 필터를 사용해 보았지만 현재 샘플링되지 않은 픽셀의 값을 설정할 방법이없는 것 같습니다. istance의 경우, 함수 p (x, y)는 지정된 위치의 픽셀 값만 반환하지만 해당 픽셀 값을 설정할 수는 없습니다.

A[x][y] = expr 

특정 픽셀의 값을 설정할 수는 FFmpeg을 알 수있는 방법이 있나요 : 다른 한마디는 FFmpeg 같은 단지 뭔가를 허용하는 것?

감사합니다.

답변

1

ffmpeg에 특정 픽셀의 값을 설정하는 방법이 있습니까?

ffmpeg -i in.mp4 -vf geq=r='if(eq(X,45)*eq(Y,651),NEWVAL,p(X,Y))' out.mp4 

된 newval로는 (45,651)에 대한 R 채널의 값을 설정하고 다른 모든 픽셀을 중계한다.

보다 일반화 된 표현이 가능한지 확인하려면 실제 expr1expr2으로 요구 사항을 설명해야합니다.

+0

답장을 보내 주셔서 감사합니다.하지만 불행히도 문제가 해결되지 않는다고 생각합니다. Expr1 e와 expr2는 아직 잘 정의되어 있지 않지만 반드시 X와 Y 변수에 의존합니다. 따라서 expr1 = X + 1이라고하면 X는 X와 같지 않으므로 if 조건은 true가되지 않습니다. – Neb

+0

geq는 특정 픽셀이지만, 내 대답의 양식을 사용하여 값을 설정할 수 있습니다. 표현식을 현재 샘플과 관련하여 다시 정리해야합니다. (12,34) 값을 (42,24) 값으로 설정하려면'p (X + 30, Y-10)'을 설정하면됩니다. – Mulvya