没有合适的资源?快使用搜索试试~ 我知道了~
图像技术(IDL)- 08图像填充与标注
5星 · 超过95%的资源 需积分: 15 14 下载量 31 浏览量
2011-12-22
01:05:08
上传
评论
收藏 1.55MB PDF 举报
温馨提示
试读
20页
图像填充是指使用指定的颜色(或者图像)填充图像的指定区域的过程。图像填充可 以清除图像中无用的图像区域(例如:使用背景颜色填充图像四周10 像素宽的边界)。 图像标注是指使用指定的文本和图形等在图像的指定位置(或者区域)添加标记(或 者注释的过程(例如:在图像的左下角添加日期时间戳)。 图像填充和图像标注可以增加图像的可辨别性和可用性(例如:在图像的右下角添加 拍摄图像的地点和时间)。
资源推荐
资源详情
资源评论
第 8 章 图像填充与标注
图像填充是指使用指定的颜色(或者图像)填充图像的指定区域的过程。图像填充可
以清除图像中无用的图像区域(例如:使用背景颜色填充图像四周 10 像素宽的边界)。
图像标注是指使用指定的文本和图形等在图像的指定位置(或者区域)添加标记(或
者注释的过程(例如:在图像的左下角添加日期时间戳)。
图像填充和图像标注可以增加图像的可辨别性和可用性(例如:在图像的右下角添加
拍摄图像的地点和时间)。
8.1 图像填充
8.1.1 图像填充
图像填充可以填充图像的规则连通区域,也可以填充图像的不规则不连通区域。实际
上图像填充的目的是为了更清楚的进行图像标注,而且可以使用一个较小的图像,填充较
大图像中的指定区域。图像填充方法如下:
(1)使用语句 READ_*,读取任意指定格式的图像文件。
(2)确定填充颜色和填充区域。
(3)利用填充颜色在图像中的指定填充区域进行填充。
(4)显示填充后的图像。
(5)使用语句 WRITE_*,写入任意指定格式的图像文件。
【例 8.1】设计程序,分别使用红绿蓝三种颜色,对真彩图像 ImageCar6.jpg 的左边、
下边和右边 10 像素宽的边界进行填充,使用白色填充图像的上边 20 像素宽边界。程序如
下(运行结果如图 8.1 所示):
;--------------------------------------------------------------------
; ImageStuffEdge.pro
;--------------------------------------------------------------------
PRO ImageStuffEdge
Yn=ImageInfo('ImageCar6.jpg') & RESTORE,'IInfo.hpy'
WINDOW,XSIZE=IInfo.ImageWidth,YSIZE=IInfo.ImageHeight,TITLE='填充'
StuffImage=IInfo.ImageData
StuffImage[0,0:9,*]=255
StuffImage[1,0:9,*]=0 & StuffImage[2,0:9,*]=0
StuffImage[0,*,0:9]=0
StuffImage[1,*,0:9]=255 & StuffImage[2,*,0:9]=0
StuffImage[0,490:499,*]=0
StuffImage[1,490:499,*]=0 & StuffImage[2,490:499,*]=255
StuffImage[0,*,280:299,*]=255
StuffImage[1,*,280:299,*]=255 & StuffImage[2,*,280:299,*]=255
DEVICE,DECOMPOSED=1 & TV,StuffImage,/TRUE
END
;--------------------------------------------------------------------
图 8.1 图像边界填充
例 8.2】设计程序,交互读取任意一幅图像,按照图像大小显示图像,然后从键盘输
入填充颜色的红绿蓝三色分量值,交互选取填充区域,最后按照真彩模式捕捉填充后的图
像,并保存伪真彩图像。程序如下(运行结果如图 8.2 所示):
;--------------------------------------------------------------------
; ImageStuff.pro
;--------------------------------------------------------------------
PRO ImageStuff
Yn=ImageInfo() & IF Yn EQ 0 THEN RETURN & RESTORE,'IInfo.hpy'
WINDOW,2,XSIZE=IInfo.ImageWidth,YSIZE=IInfo.ImageHeight,TITLE='填充'
IF IInfo.ImageChannel EQ 3 THEN BEGIN
DEVICE,DECOMPOSED=1 & TV,IInfo.ImageData,/TRUE
ENDIF ELSE BEGIN
IF IInfo.ImagePalette EQ 1 THEN BEGIN
TVLCT,IInfo.CTRed,IInfo.CTGreen,IInfo.CTBlue
ENDIF ELSE LOADCT,0
DEVICE,DECOMPOSED=0 & TV,IInfo.ImageData,TRUE=0
ENDELSE
READ,RColor,GColor,BColor,PROMPT='输入填充 R,G,B 分量值(0-255):'
RColor=FIX(ABS(RColor)) MOD 256
GColor=FIX(ABS(GColor)) MOD 256
BColor=FIX(ABS(BColor)) MOD 256
Yn=DIALOG_MESSAGE('单击两次鼠标,确定裁减区域!',TITLE='信息')
WSET,2 & WSHOW,2,1
CURSOR,X1,Y1,/DEVICE,/DOWN & CURSOR,X2,Y2,/DEVICE,/DOWN
X1Min=X1<X2 & X2Max=X1>X2 & Y1Min=Y1<Y2 & Y2Max=Y1>Y2
StuffImage=TVRD(TRUE=1)
StuffImage[0,X1Min:X2Max,Y1Min:Y2Max]=RColor
StuffImage[1,X1Min:X2Max,Y1Min:Y2Max]=GColor
StuffImage[2,X1Min:X2Max,Y1Min:Y2Max]=BColor
DEVICE,DECOMPOSED=1 & TV,StuffImage,/TRUE
Yn=DIALOG_MESSAGE('保存填充图像吗?',/QUESTION,TITLE='信息')
IF Yn NE 'Yes' THEN RETURN
WRITE_PNG,'ATempImage.png',TVRD(TRUE=1)
Yn=DIALOG_MESSAGE('ATempImage.png 保存成功!',TITLE='信息')
WDELETE,2
END
;--------------------------------------------------------------------
图 8.2 图像区域填充
8.1.2 图像填充系统
图像填充(微型)系统是指能够实现图像的导入、填充和保存等功能的程序系统。系
统通常可以以交互的方式在指定的 GUI 中选取填充颜色,确定填充区域,保存填充结果。
【例 8.3】设计程序,如果存在图像信息文件 IInfo.hpy,则恢复图像信息;否则调
用程序 ImageTest.pro 创建伪彩图像 ImageTest.png,生成 IInfo.hpy 后恢复图像信息,
并按照如图 8.3 所示的 GUI,交互选取填充颜色,然后交互确定填充区域,对图像进行多
颜色多区域填充;最后保存填充结果。程序如下(运行结果如图 8.3 所示):
图 8.3 图像交互填充
;--------------------------------------------------------------------
; HappyImageStuffGUI.pro
;--------------------------------------------------------------------
PRO HappyImageStuffGUI_EVENT,Event
IF (TAG_NAMES(Event,/STRUCTURE_NAME) EQ $
'WIDGET_KILL_REQUEST') THEN BEGIN
WIDGET_CONTROL,Event.TOP,/DESTROY
FILE_DELETE,'State.hpy',/ALLOW_NONEXISTENT
HappyImageAnalysisGUI & RETURN
ENDIF
END
;--------------------------------------------------------------------
PRO StuffButton,Event
RESTORE,'IInfo.hpy' & RESTORE,'State.hpy' & WSET,State.DWindow
Yn=DIALOG_MESSAGE('单击两次鼠标,确定裁减区域!',TITLE='信息')
剩余19页未读,继续阅读
资源评论
- zhouhuiqinqin2012-12-06对我的帮助很大 谢谢
cinhoo
- 粉丝: 9
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功