1)图像处理入门级程序设计,分享给将要学习或者正在学习图像开发的同学。
2)内容属于原创,若转载,请说明出处。
3)提供相关问题有偿答疑和支持。
需求:基于SigmaStar平台SSC375(也适用于SSC333 SSC335 SSC377 SSC359 SSC339 等等),实现图像不拉伸同比例缩放,当原始图像尺寸与目标图像的尺寸宽高比不一致的时候,补充/填充剩余部分颜色为黑色/或者其他颜色;例如原始的16:9图像是1920x1080的图像,缩小到600x480,但是希望保持16:9的宽高比,如下:
如下是处理之后的两种尺寸示意图:
SigmaStar的SSC375平台提供特殊API,用来给到用户对内存中的图像数据做缩放拉升裁剪等操作,但是不支持同比例缩放,看下官方提供的SigmaStar的Doc中SCL的章节使用说明:
其中2.15章节介绍了一个API叫MI_SCL_StretchBuf,用于缩放、拉伸、裁剪指定内存中的图像数据
如下是三个形参:
因此以上API可以看出,其使用就是对内存buf进行操作和填充,因此可以借助这个API进行同比例的缩放,然后差异的部分可以填充黑色或者其他颜色,如下是整个源码的实现,支持YUV(NV12)以及ARGB8888的格式转换:我主页有下载链接