发明名称 一种图像旋转处理方法
摘要 本发明涉及一种图像旋转处理方法,特别涉及一种采用笛卡尔平面坐标系进行图像旋转处理方法。该方法包括如下步骤:确定图像旋转边界参数,确定旋转键值集合,生成旋转键值矩阵,确定键值线性组合系数,执行旋转变换计算,完成图像的旋转。本发明的方法,在待变换坐标<img file="2012101706639100004dest_path_image002.GIF" wi="39" he="22" />为离散(即坐标取值全部为整数)有界情形时,完全通过查表实现坐标轴旋转变换计算。在不限制存储空间使用时,只需两次查表操作就完成坐标轴旋转变换计算;在存储空间受限时,通过复合迭代查表,以较少的迭代查表次数实现坐标轴旋转变换计算。本发明可显著提高浮点运算能力较低的单片机、DSP芯片等进行坐标轴旋转变换的计算效率,也可用于一般计算机。
申请公布号 CN102750669A 申请公布日期 2012.10.24
申请号 CN201210170663.9 申请日期 2012.05.29
申请人 山东神思电子技术股份有限公司 发明人 许野平
分类号 G06T3/60(2006.01)I 主分类号 G06T3/60(2006.01)I
代理机构 济南泉城专利商标事务所 37218 代理人 李桂存
主权项 1.一种图像旋转处理方法,其特征在于包含如下步骤:1.1、确定图像旋转边界参数1.1.1、图像旋转后的新坐标设定为<img file="956722DEST_PATH_IMAGE001.GIF" wi="39" he="22" />,图像旋转前的旧坐标设定为<img file="873863DEST_PATH_IMAGE002.GIF" wi="38" he="21" />,图像的旋转角度设定为<img file="89818DEST_PATH_IMAGE003.GIF" wi="15" he="15" />;1.1.2、最大旋转半径<img file="485028DEST_PATH_IMAGE004.GIF" wi="17" he="18" />:设定<img file="299400DEST_PATH_IMAGE005.GIF" wi="124" he="29" />,其中<img file="59545DEST_PATH_IMAGE007.GIF" wi="75" he="27" />代表所有参与坐标轴旋转变换的坐标<img file="326579DEST_PATH_IMAGE001.GIF" wi="39" he="22" />的横坐标<img file="463162DEST_PATH_IMAGE008.GIF" wi="14" he="16" />的绝对值和纵坐标<img file="132041DEST_PATH_IMAGE009.GIF" wi="16" he="18" />的绝对值的最大值;1.1.3、旋转变换定义域:<img file="125404DEST_PATH_IMAGE010.GIF" wi="223" he="25" />1.1.4、旋转单位角<img file="817417DEST_PATH_IMAGE011.GIF" wi="17" he="16" />:<img file="554429DEST_PATH_IMAGE012.GIF" wi="59" he="42" />;1.2、确定旋转键值集合采用下面三种方式之一来确定旋转键值集合:1.2.1、枚举方法:<img file="77814DEST_PATH_IMAGE013.GIF" wi="178" he="46" />;1.2.2、二进制基方法:<img file="943877DEST_PATH_IMAGE014.GIF" wi="132" he="25" />,其中,<img file="185502DEST_PATH_IMAGE015.GIF" wi="103" he="46" />;1.2.3、自由基方法:选择整数<img file="460626DEST_PATH_IMAGE016.GIF" wi="17" he="18" />的一个有限子集做旋转键值集合;1.3、生成旋转键值矩阵1.3.1、采用1.2所述的三种方法之一生成旋转键值集合:<img file="41780DEST_PATH_IMAGE017.GIF" wi="204" he="25" />1.3.2、针对每个键值<img file="376946DEST_PATH_IMAGE018.GIF" wi="46" he="25" />,生成其对应的键值矩阵:<img file="105868DEST_PATH_IMAGE019.GIF" wi="75" he="51" /><img file="122365DEST_PATH_IMAGE020.GIF" wi="192" he="51" />其中<img file="620343DEST_PATH_IMAGE021.GIF" wi="210" he="27" />,<img file="391990DEST_PATH_IMAGE001.GIF" wi="39" he="22" />取值范围包含旋转变换定义域<img file="280311DEST_PATH_IMAGE022.GIF" wi="17" he="17" />;1.3.3、利用键值矩阵实现坐标轴旋转变换:下面公式实现根据坐标轴旋转角度<img file="162817DEST_PATH_IMAGE023.GIF" wi="26" he="24" />后的新坐标<img file="515300DEST_PATH_IMAGE024.GIF" wi="38" he="21" />计算旧坐标<img file="911645DEST_PATH_IMAGE025.GIF" wi="36" he="21" />:<img file="349580DEST_PATH_IMAGE026.GIF" wi="57" he="50" />下面步骤中,利用此原理实现任意角度的旋转变换;1.4、确定键值线性组合系数给定旋转角度<img file="770197DEST_PATH_IMAGE027.GIF" wi="15" he="15" />,选择整数<img file="180449DEST_PATH_IMAGE028.GIF" wi="56" he="45" />或<img file="293899DEST_PATH_IMAGE029.GIF" wi="75" he="45" />使得<img file="219130DEST_PATH_IMAGE030.GIF" wi="53" he="26" />最小;结合前面给出的旋转键值集合<img file="381121DEST_PATH_IMAGE031.GIF" wi="198" he="24" />,确定<img file="442618DEST_PATH_IMAGE032.GIF" wi="12" he="15" />的旋转键值的线性组合表达式:<img file="726968DEST_PATH_IMAGE033.GIF" wi="72" he="45" />依据整数规划求解方法求出<img file="139495DEST_PATH_IMAGE034.GIF" wi="18" he="24" />一组可行解,整数规划方程式如下:<img file="105177DEST_PATH_IMAGE035.GIF" wi="102" he="45" /><img file="286760DEST_PATH_IMAGE036.GIF" wi="72" he="45" />1.5、执行旋转变换计算1.5.1、令<img file="476433DEST_PATH_IMAGE037.GIF" wi="105" he="21" />;1.5.2、把下述公式重复计算<img file="812474DEST_PATH_IMAGE038.GIF" wi="18" he="24" />次:<img file="378584DEST_PATH_IMAGE039.GIF" wi="57" he="98" />1.5.3、<img file="680253DEST_PATH_IMAGE040.GIF" wi="50" he="18" />,如果<img file="978510DEST_PATH_IMAGE041.GIF" wi="33" he="17" />,转到步骤1.5.2,否则执行步骤1.5.4;1.5.4、<img file="365629DEST_PATH_IMAGE025.GIF" wi="36" he="21" />为<img file="735430DEST_PATH_IMAGE042.GIF" wi="38" he="21" />进行旋转变换的结果;1.6、图像旋转: 1.6.1、笛卡尔平面坐标系坐标轴旋转变换公式如下:<img file="563709DEST_PATH_IMAGE043.GIF" wi="131" he="45" />1.6.2、假设图像旋转前后尺寸不变,设定图像的尺寸为<img file="360764DEST_PATH_IMAGE044.GIF" wi="36" he="18" />;为防止旋转后图像内容因超出边界而被剪裁,可以以图像的几何中心为中心向外拓展,用黑色,或者白色,或者其它事先指定的颜色填充拓展的区域;尺寸为<img file="969600DEST_PATH_IMAGE044.GIF" wi="36" he="18" />的图像拓展为<img file="80775DEST_PATH_IMAGE045.GIF" wi="138" he="27" />后,可以避免出现内容因旋转而被剪裁的现象;1.6.3、以图像旋转中心为坐标原点,建立笛卡尔平面坐标系,图像旋转中心根据应用要求进行选择,如果没有特别要求,一般选择图像的几何中心为旋转中心;1.6.4、对于目标图像中的每一个像素<img file="91457DEST_PATH_IMAGE046.GIF" wi="48" he="21" />,依据坐标变换公式计算其在原始图像中的坐标<img file="59413DEST_PATH_IMAGE047.GIF" wi="48" he="21" />;1.6.5、如果<img file="591763DEST_PATH_IMAGE048.GIF" wi="48" he="21" />坐标为整数,可以直接取该坐标对应像素的颜色填充至目标图像像素<img file="303367DEST_PATH_IMAGE046.GIF" wi="48" he="21" />处;如果<img file="43921DEST_PATH_IMAGE048.GIF" wi="48" he="21" />坐标不是整数,可以按照常规的线性插值,或双线性插值估算<img file="182778DEST_PATH_IMAGE049.GIF" wi="48" he="21" />点像素的颜色,并把该颜色填充至目标图像像素<img file="766206DEST_PATH_IMAGE046.GIF" wi="48" he="21" />处;如果<img file="953605DEST_PATH_IMAGE049.GIF" wi="48" he="21" />坐标超出原始图像范围,可以用黑色,或者白色,或者其它事先指定的颜色作为该处像素的颜色,并把该颜色填充至目标图像像素<img file="938879DEST_PATH_IMAGE046.GIF" wi="48" he="21" />处。
地址 250101 山东省济南市历下区高新区舜华西路699号