opencv 想知道以下算法是进行的什么操作?

zhouyj-csdn 2018-07-27 08:32:28
这个是图像处理的相关代码,我想知道这是什么算法?

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++;
}
}
...全文
221 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
风来我也来 2018-07-31
  • 打赏
  • 举报
回复
2楼已经回答了。就是建立 0~256映射为m_lowerBound ~m_upperBound 之间的表。然后输入一个byte值。就直接找到对应的值。
tiger波波 2018-07-27
  • 打赏
  • 举报
回复
建议你把src传进去,执行一下,显示一下dest看看什么效果
schlafenhamster 2018-07-27
  • 打赏
  • 举报
回复
BYTE LUT[256];

// Initialize a lookup table

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧