opencv 想知道以下算法是进行的什么操作?
这个是图像处理的相关代码,我想知道这是什么算法?
if( dest.getPtr() == 0 ) return false;
BYTE LUT[256];
// Initialize a lookup table with values between m_lowerBound and m_upperBound
for( int i = 0; i < 256; ++i )
{
if( i <= m_lowerBound )
{
LUT[i] = 0;
}
else if( i >= m_upperBound )
{
LUT[i] = 255;
}
else
{
LUT[i] = (BYTE)(float(i - m_lowerBound) / float(m_upperBound - m_lowerBound) * 255.0f);
}
}
if( !m_bEnabled )
{
memcpy( dest.getPtr(),src.getPtr(), dest.getFrameType().buffersize );
}
else
{
BYTE* pSource =src.getPtr();
BYTE* pTarget = dest.getPtr();
int buffersize=src.getFrameType().buffersize;
BYTE *pEnd = &pSource[buffersize];
while( pSource < pEnd )
{
*pTarget = LUT[*pSource];
pSource++;
pTarget++;
}
}