- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言图像处理方法
html
head
meta http-equiv=Content-Type content=text/html; charset=gb2312
style type=text/css
!--
A:link {text-decoration: none; color: blue}
A:visited {text-decoration: none; color: #54646D}
A:active {text-decoration: none}
A:hover {text-decoration: underline; color: 000080}
--
/style
titleC 语 言 图 像 处 理 方 法/title
/head
body bgcolor=#FFFFFF
div align=centercenter
table border=0 width=700 cellspacing=0 cellpadding=4
tr
td width=100% valign=topdiv align=centercentertable border=0 width=680
cellspacing=0 cellpadding=4
tr
td width=672 valign=top bgcolor=#55002Bp align=centerfont face=黑体
color=#FFFFFFbC 语 言 图 像 处 理 方 法/b/font/td
/tr
tr VALIGN=BOTTOM ALIGN=LEFT
td width=672 background=../../../images/底纹.gifp align=left 1.图像平移br
图像平移只是改变图像在屏幕上的位置,图像本身并不发生变化。br
假设原图像区域左上角坐标为(x0, y0),右下角坐标为(x1, y1),将图像分别沿x和y轴平移dx和dy,则新图像的左上角坐标为(x0
+ dx, y0 + dy),右下角坐标为(x1 + dx, y1 + dy)。坐标平移变换公式为:br
x′ = x + dxbr
y′ = y + dybr
在屏幕上实现图像的移动分为四个步骤:br
⑴ 保存原图像到缓冲区。br
⑵ 擦除原图像。br
⑶ 计算平移后的新坐标。br
⑷ 在新的坐标位置重新显示原图像。br
其中,擦除原图像的方法与图形变换中擦除原图形的方法一致,在实现中仍采用XOR异或方式画图擦除原图像。对于新坐标值的计算还需要考虑边界情况,不要在图像平移后超出允许的屏幕范围。此外,如果采用C函数getimage()和putimage()来保存和恢复图像,则图像的大小不能超过64K。br
2.图像颠倒br
图像颠倒是指把定义好的图像区域上下翻转地显示在屏幕上。分析图像颠倒的过程,可发现每行的图像信息都保持不变,而只是改变了行的顺序,将第一行与最后的第n行相互交换,第二行与第n
- 1行交换……,依此类推,从而实现了图像的颠倒。只需采用按行交换的方式,即可方便地修改缓冲区内容,实现图像的颠倒。基本步骤如下:br
(1) 用getimage()保存原图像,并擦除原图像。br
(2) 计算图像的高度,即行数height;计算图像宽度width;计算保存一行图像信息
br
height = bottom - top + 1;br
width = right - left + 1;br
linebytes = (width + 7) / 8 * 4;br
(3)利用行交换缓冲区linebuf在图像内存缓冲区中进行信息交换,即把第一行与最末行交换,第2行与第n-1行交换……,依此类推,直至全部交换完毕。br
(4)把交换后的图像缓冲区内容重新显示在屏幕上。br
3.图像镜像变换br
镜像变换是指将指定区域的图像左右翻转地显示在屏幕。分析镜像变换过程可以发现:每行图像信息的处理方式是相同的,而且行顺序不发生变化,只是每一行的像素信息按从左到右的顺序进行了左右颠倒,从而实现了镜像变换。因此,采用按行逐点变换的方式实现图
文档评论(0)