c语言图像处理方法

c语言图像处理方法

ID:40534201

大小:15.78 KB

页数:3页

时间:2019-08-04

c语言图像处理方法_第1页
c语言图像处理方法_第2页
c语言图像处理方法_第3页
资源描述:

《c语言图像处理方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言图像处理方法

3、adding="4">C语言图像处理方法  1.图像平移
  图像平移只是改变图像在屏

4、幕上的位置,图像本身并不发生变化。
  假设原图像区域左上角坐标为(x0,y0),右下角坐标为(x1,y1),将图像分别沿x和y轴平移dx和dy,则新图像的左上角坐标为(x0+dx,y0+dy),右下角坐标为(x1+dx,y1+dy)。坐标平移变换公式为:
  x′=x+dx
  y′=y+dy
  在屏幕上实现图像的移动分为四个步骤:
  ⑴保存原图像到缓冲区。
  ⑵擦除原图像。
  ⑶计算平移后的新坐标。
  ⑷在新的坐标位置重新显示原图像。
  其中,擦除

5、原图像的方法与图形变换中擦除原图形的方法一致,在实现中仍采用XOR异或方式画图擦除原图像。对于新坐标值的计算还需要考虑边界情况,不要在图像平移后超出允许的屏幕范围。此外,如果采用C函数getimage()和putimage()来保存和恢复图像,则图像的大小不能超过64K。
  2.图像颠倒
  图像颠倒是指把定义好的图像区域上下翻转地显示在屏幕上。分析图像颠倒的过程,可发现每行的图像信息都保持不变,而只是改变了行的顺序,将第一行与最后的第n行相互交换,第二行与第n-1行交换……,依此类推,从而实现了图像的

6、颠倒。只需采用按行交换的方式,即可方便地修改缓冲区内容,实现图像的颠倒。基本步骤如下:
  (1)用getimage()保存原图像,并擦除原图像。
  (2)计算图像的高度,即行数height;计算图像宽度width;计算保存一行图像信息
  height=bottom-top+1;
  width=right-left+1;
  linebytes=(width+7)/8*4;
  (3)利用行交换缓冲区linebuf在图像内存缓冲区中进行信息交换,即把第一行与最末行交换,第2行

7、与第n-1行交换……,依此类推,直至全部交换完毕。
 (4)把交换后的图像缓冲区内容重新显示在屏幕上。
  3.图像镜像变换
  镜像变换是指将指定区域的图像左右翻转地显示在屏幕。分析镜像变换过程可以发现:每行图像信息的处理方式是相同的,而且行顺序不发生变化,只是每一行的像素信息按从左到右的顺序进行了左右颠倒,从而实现了镜像变换。因此,采用按行逐点变换的方式实现图像的镜像。
  首先,对于左上角为(left,top),右下角为(right,bottom)矩形区域图像,给出其中任意点(x0,y0

8、)镜像变换后的新坐标(x′,y′)的坐标变换公式:
  x′=right-x0+left
  y′=y0
  根据以上公式,对各个像素点计算新坐标后,直接把它显示在屏幕的相应位置上。
  如果完全逐点地进行交换,处理一个像素点就要读取一次像素值,从而降低了变换速度。由于像素点是顺序存放在各个bit位上,每读取一个字节就包

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。