- 积分
- 3638
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 15195775117 于 2019-1-24 16:10 编辑
平时工作中需要把png图贴进谷歌地球,但是以前有2个障碍:
1、IDL画出的图有白边,我后来用position=[0,0,1,1]将图撑满窗口解决了,设置axis_style=0使坐标轴消失;
2、IDL图有白底,该贴主要将已存的图进行二次处理,组成镂空状的png图。
(附件有原图和处理过的图)
<程序>
;该程序用于把一张图中纯白部分做成透明
pro trans_png
;待处理的图:
read_png,'C:\Users\Administrator\Desktop\飞鸽截图20181107143817.png',ima
;不论三层的jpg还是四层的png,只使用前三层rgb:
ima=ima[0:2,*,*]
sz=size(ima)
;新建一个文件用于输出png:
png=bytarr(4,sz[2],sz[3])
;把rgb前三层放入输出文件的前三层,
;第四层初始值0,后面检查前三层中不是纯白的都赋予255,纯白的保持全透明0
png[0:2,*,*]=ima
png[3,*,*]=0
;制作alpha层,初始值都是0
one=bytarr(sz[2],sz[3])
;rgb三层和是255*3就是本白/纯白,不是纯白的alpha值赋予255
t=total(ima,1);求和
p=where(t ne 255*3,count)
one[p]=255
;把alpha层赋给输出变量的第四层
png[3,*,*]=one
;输出png图:
write_png,'C:\Users\Administrator\Desktop\1.png',png
end
|
|