Tiled rotate with smoothing has bad edges

Tiled rotate with smoothing has bad edges

Evgeniy Kosmin的头像

Hi,

ippiRotate gives me different results with single image rotation and tiled one. Tiled result has some artifacts on the edges.

Here is my code:

// Rotate on single image
{
  IppiRect dstBounds = {0, 0, pResult->GetWidth(), pResult->GetHeight()};
  IppStatus res = ippiRotate_8u_C3R(pSrcPixels, srcSize, stripe.GetStride(), srcBounds, pDstPixels, pResult->GetStride(), dstBounds, _angle, _xShift, _yShift, IPPI_INTER_CUBIC | IPPI_SMOOTH_EDGE);

  if (res < ippStsNoErr)
    EX_THROW(IppException(EX_PARAMS, res));
}

// Rotate on tiled image
{

  uint32_t tileSize = 15;

  uint32_t tileCountX = 15;

  uint32_t tileCountY = 15;

  for (uint32_t i = 0; i < tileCountY; i++)
  {
    for (uint32_t j = 0; j < tileCountX; j++)
      {
        IppiRect dstBounds = {i * tileSize, j * tileSize, tileSize, tileSize};

        IppStatus res = ippiRotate_8u_C3R(pSrcPixels, srcSize, stripe.GetStride(), srcBounds, pDstPixels, pResult->GetStride(), dstBounds, _angle, _xShift, _yShift, IPPI_INTER_CUBIC | IPPI_SMOOTH_EDGE);

        if (res < ippStsNoErr)
            EX_THROW(IppException(EX_PARAMS, res));
      }
  }
}

Without IPPI_SMOOTH_EDGE both results are equal.

Please correct me if I’m doing something wrong.

Best regards,
Evgeniy Kosmin

附件尺寸
下载 single.png113.94 KB
下载 tiled.png82.35 KB
2 帖子 / 0 new
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项.
Sergey Kostrov的头像

Hi Evgeniy,

Some time ago we had a discussion ( please take a look ):

Forum Topic: ippiRotate edge effects
Web-link: software.intel.com/en-us/forums/topic/344452

and it looks like your problem is similar. Unfortunately, I don't know anything about status of the problem ( is it fixed? is it reproduced? ) and I expect Intel Software Engineers should provide more technical details.

Best regards,
Sergey

登陆并发表评论。