2013-06-30 3 views
0

살아있는 스트리밍 웹캠의 배경을 제거하는 방법이 있다는 것을 알아야합니다. 백그라운드 뺄셈 기이라는 메소드가 있습니다. 사람이 사용하는 알고 있다면 그건 당신이 이미 배경 이미지가있는 경우 ..Emgu cv를 사용하는 배경 작업

+0

내장이있어 (http://meta.stackexchange.com/questions/145677/what-is-a-real-question). 문제를 해결하기 위해 지금까지 아무 것도 시도한 적이 있습니까? [FAQ] 및 [ask] –

답변

0

방금 ​​계산할 수있는 문제 좀 도와주십시오

I - B 나는 이미지와 B이다

내가

도 작동합니까 - (타입 말의, 이미지) 배경

B입니다.

이미지가 음수를 저장하지 않기 때문에, 당신은 모두

사용하여 이러한 결합 할 수도 있습니다 (I - B) + (B - I)

그리고 변환 결과하는 그레이 스케일로.

내가 더 잘 작동하는 방법은 푸리에 변환을 사용하여 이렇게하는 것입니다.

예 :

F^1 (F (I) - F (B)가)

예 전경 부분적으로 반투명 할 때 잘 작동

CvInvoke.cvDFT(video.Convert<Gray, Single>().Ptr, DFT.Ptr, Emgu.CV.CvEnum.CV_DXT.CV_DXT_FORWARD, -1); 
    CvInvoke.cvDFT(Background.Convert<Gray, Single>().Ptr, DFTBack.Ptr, Emgu.CV.CvEnum.CV_DXT.CV_DXT_FORWARD, -1); 

    CvInvoke.cvDFT((DFTBack - DFT).Convert<Gray, Single>().Ptr, originalLeft.Ptr, Emgu.CV.CvEnum.CV_DXT.CV_DXT_INVERSE, -1); 
    CvInvoke.cvDFT((DFT - DFTBack).Ptr, originalRight.Ptr, Emgu.CV.CvEnum.CV_DXT.CV_DXT_INVERSE, -1); 

대.

은 또한 이것은 [진짜 질문]하지 Foreground detector