2012-11-01 3 views
0

룩업 테이블 (cvLUT)을 사용하여 현재 수행중인 현재의 방법보다 빠른지 확인하려고합니다. 질문은 내가 다른 값들을 가지고있을 때 테이블을 어떻게 찾아야 하는지를 정말로 이해하지 못한다. 예.다른 값 범위를위한 룩업 테이블을 작성하는 방법

if(mean < 50) 
//do gamma correction 
else if(mean > 50 && mean < 100) 
// do gamma correction 
else 
//do do gamma correction 

먼저 룩업 테이블을 계산해야하지만 평균은 로컬 창을 사용하여 로컬 계산됩니다. 어떻게해야합니까? 벡터에 평균값을 저장하려고 시도했지만 사용했지만 벡터에 저장하면 속도가 느립니다.

답변

0

변환이 로컬 창의 정보에 종속되어 있기 때문에 조회 테이블이 적절하지 않다고 생각합니다. 픽셀 값에만 의존하고 다른 픽셀의 값에 의존하지 않는 모든 픽셀에 대한 변환을 원한다면 조회 테이블이 좋습니다.

+0

Owh.really. 정보를 제공해 주셔서 감사합니다. =) – Mzk

0

성능면 당신이 찾고있는 인라인 어셈블리를 이길 어려울 것입니다.

int mean; 

asm { 
cmp mean, 99 
jg _else  
cmp mean, 50 
jl _if 
_else_if: 
} 
// gamma correction 
asm { _else: } 
// gamma correction 
asm { _if: } 
// gamma correction 
관련 문제