基于插值运算的缩放算法和经典的缝裁剪算法是两种常用的图像缩放算法,传统的缩放算法在缩放比例不一致的情况下其效果不佳,而缝裁剪算法在主体区域较大或者图像背景较为复杂时对图像的主体区域会造成一定破坏。针对以上问题,提出了一种基于主体区域保持的图像缩放算法,使用高斯差分对图像进行角点检测,利用角点产生凸包,根据凸包对图像进行主体区域检测,计算能量图并对位于主体区域像素点的能量给予相应的权重,根据权重的不同对主体区域进行不同程度的保护。实验结果表明,该算法能更好地保持图像主体区域。