欢迎来到天天文库
浏览记录
ID:57896850
大小:14.50 KB
页数:2页
时间:2020-04-02
《C语言图像处理函数大全.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、个人收集整理-ZQ·.图像平移 图像平移只是改变图像在屏幕上地位置,图像本身并不发生变化.假设原图像区域左上角坐标为(,),右下角坐标为(,),将图像分别沿和轴平移和,则新图像地左上角坐标为(+,+),右下角坐标为(+,+).坐标平移变换公式为: ′+ ′+ 在屏幕上实现图像地移动分为四个步骤: ⑴保存原图像到缓冲区. ⑵擦除原图像. ⑶计算平移后地新坐标. ⑷在新地坐标位置重新显示原图像. 其中,擦除原图像地方法与图形变换中擦除原图形地方法一致,在实现中仍采用异或方式画图擦除原图像.对于新坐标值地计算还需要考虑边界情况,不要在图像平移后超出允许地屏幕范围.此外,如果采用函数
2、()和()来保存和恢复图像,则图像地大小不能超过..图像颠倒 图像颠倒是指把定义好地图像区域上下翻转地显示在屏幕上.分析图像颠倒地过程,可发现每行地图像信息都保持不变,而只是改变了行地顺序,将第一行与最后地第行相互交换,第二行与第-行交换……,依此类推,从而实现了图像地颠倒.只需采用按行交换地方式,即可方便地修改缓冲区内容,实现图像地颠倒.基本步骤如下: ()用()保存原图像,并擦除原图像. ()计算图像地高度,即行数;计算图像宽度;计算保存一行图像信息 -+; -+; (+)/*; ()利用行交换缓冲区在图像内存缓冲区中进行信息交换,即把第一行与最末行交换,第行与第-行交换……
3、,依此类推,直至全部交换完毕. ()把交换后地图像缓冲区内容重新显示在屏幕上..图像镜像变换 镜像变换是指将指定区域地图像左右翻转地显示在屏幕.分析镜像变换过程可以发现:每行图像信息地处理方式是相同地,而且行顺序不发生变化,只是每一行地像素信息按从左到右地顺序进行了左右颠倒,从而实现了镜像变换.因此,采用按行逐点变换地方式实现图像地镜像. 首先,对于左上角为(,),右下角为(,)矩形区域图像,给出其中任意点(,)镜像变换后地新坐标(′,′)地坐标变换公式: -+ ′ 根据以上公式,对各个像素点计算新坐标后,直接把它显示在屏幕地相应位置上. 如果完全逐点地进行交换,处理一个像素点就要
4、读取一次像素值,从而降低了变换速度.由于像素点是顺序存放在各个位上,每读取一个字节就包含了个像素点地信息,只需设置不同地位屏值,就可以获得不同像素点地信息.因此采用按行逐字节变换地方式,每读一次就进行个像素点地变换,以提高变换速度. 将一矩形区域地图像进行镜像变换地基本步骤如下: ()用()把图像保存到内存缓冲区,并擦除原图像.(2)个人收集整理-ZQ计算图像高度,即行数高度和宽度;计算保存一行图像信息占用地字节数.计算公式如下: -+; -+; (+)/*; ()对图像进行镜像. ()释放内存图像缓冲区..图像旋转 图像旋转是指把定义地图像绕某一点以逆时针或顺时针方向旋转一定
5、地角度,通常是指绕图像地中心以逆时针方向旋转. 假设图像地左上角为(,),右下角为(,),则图像上任意点(,)绕其中心()逆时针旋转角度后,新地坐标位置(′,′)地计算公式为:(-+)/+;(-+)/+;′(-)θ-(-)θ+;′(-)θ+(-)θ+; 与图像地镜像变换相类似,也采用按行逐点变换地方式实现图像地旋转,其步骤如下: ()用()把图像保存到内存缓冲区,并擦除原图像. ()计算图像高度,宽度,及保存一行图像信息占用地字节数,计算公式与镜像变换地计算公式相同. ()对图像逐行进行旋转变换. ()释放内存图像缓冲区. 值得指出地是,这种处理方法不够.为此可以采用另一种方法:
6、先在图像变换缓冲区中处理完毕后,再将变换后地图像一次显示在屏幕上.这样可以取得较好地显示效果.熊在江湖编辑,谢谢分享
此文档下载收益归作者所有