图像缩放拼接相关参数计算 文章目录1.图像缩放拼接2.图像缩放拼接参数3.示例参数计算1.图像缩放拼接对于如下图分块拼接缩放功能实现我们都知道每个分块对需要做拼接边缘扩展例如水平扩展4个点垂直扩展2行。如下图需要分别在图像左边界右边界上边界和下边界做扩展即所取的原图的大小要比实际所需要的图像略大。不过根据实际情况右边界和下边界不做扩展拼接效果也影响不大可以只考虑左边界和上边界。例如下面Top Right Section的左边界扩展Bottom Left Section的上边界扩展Bottom Right Section的上边界扩展左边界扩展。通常水平方向扩展2~ 4个点垂直方向扩展1~2行。2.图像缩放拼接参数如上图对图像分块进行缩放时如下参数需要根据实际情况进行计算。IWIDTH原图水平宽度IHEIGHT原图垂直高度OWIDTH目标图水平宽度OHEIGHT目标图垂直高度FF 1FFWIDTH; // pow(2,FFWIDTH) 缩放因子放大倍数FFWIDTH可取121416等HSF floor(FF*(IWIDTH-1)/(OWIDTH-1)); // 水平缩放因子VSF floor(FF*(IHEIGHT-1)/(OHEIGHT-1)); // 垂直缩放因子ox_offset缩放后分块图像与图像水平起始点偏移值(起始点坐标)oy_offset缩放后分块图像与图像垂直起始点偏移值(起始点坐标)HIP_WI最左侧分块图像滤波器水平起始始相位一般为0VIP_WI最上侧分块图像滤波器垂直起始始相位一般为0HIPHASE (HIP_WI (HSFox_offset)) % FF; // 滤波器水平初始相位VIPHASE (VIP_WI (VSFoy_offset)) % FF; // 滤波器垂直初始相位ix_offset floor(IWIDTH/OWIDTHox_offset); //分块图像对应原图分块与原图水平起始点偏移值(起始点坐标)iy_offset floor(IHEIGHT/OHEIGHToy_offset);//分块图像对应原图分块与原图垂直起始点偏移值(起始点坐标)3.示例参数计算注计算缩放因子必须用整体缩放的因子不能用单个分块的缩放因子。示例一、3840x2160 to 960x600水平3840缩小到960每块水平1920缩小到480垂直2160缩小到600每块垂直1080缩小到300IWIDTH3840IHEIGHT2160OWIDTH960OHEIGHT600FF2**16655360x10000HSF floor(FF*(IWIDTH-1)/(OWIDTH-1)) 0x400cd 262349VSF floor(FF*(IHEIGHT-1)/(OHEIGHT-1)) 0x39ab6 236214ox_offset 480oy_offset 300HIP_WI 0VIP_WI 0// Top left section initial phase calculationHIP_TL (HIP_WI) 0VIP_TL (VIP_WI) 0// Top right section initial phase calculationHIP_TR (HIP_WI (HSF480)) % FF 0x8060VIP_TR (VIP_WI) 0// Bottom left section initial phase calculationHIP_BL (HIP_WI) 0VIP_BL (VIP_WI (VSF300)) % FF 0x4D48// Bottom right section initial phase calculationHIP_BR (HIP_WI (HSF480)) % FF 0x8060VIP_BR (VIP_WI (VSF300)) % FF 0x4D48// Section offsets of input imageix_offset floor(IWIDTH/OWIDTH480) 1920;iy_offset floor(IHEIGHT/OHEIGHT300) 1080;示例二、1280x720 to 3840x2160水平1280放大到3840每块水平640放大到1920垂直720放大到2160每块垂直360放大到1080IWIDTH1280IHEIGHT720OWIDTH3840OHEIGHT2160FF2**16655360x10000HSF floor(FF*(IWIDTH-1)/(OWIDTH-1)) 0x5549 21833VSF floor(FF*(IHEIGHT-1)/(OHEIGHT-1)) 0x5541 21825ox_offset 1920oy_offset 1080HIP_WI 0VIP_WI 0// Top left section initial phase calculationHIP_TL (HIP_WI) 0VIP_TL (VIP_WI) 0// Top right section initial phase calculationHIP_TR (HIP_WI (HSF1920)) % FF 0xA380VIP_TR (VIP_WI) 0// Bottom left section initial phase calculationHIP_BL (HIP_WI) 0VIP_BL (VIP_WI (VSF1080)) % FF 0xAA38// Bottom right section initial phase calculationHIP_BR (HIP_WI (HSF1920)) % FF 0xA380VIP_BR (VIP_WI (VSF1080)) % FF 0xAA38// Section offsets of input imageix_offset floor(IWIDTH/OWIDTH1920) 640;iy_offset floor(IHEIGHT/OHEIGHT1080) 360;