1、首先运行IDL主程序,选择默认工作空间
格式:Yn = QUERY_IMAGE ( Filename, Info, CHANNELS=variable , DIMENSIONS=variable)
示例
filename = dialog_pickfile (title='读取图像窗口', filter='*.jpg;*.bmp;*.gif')
yn = query_image ( filename, info, channels=var1 , dimensions=var2)
help, info, /structure
print, info.channels, info.dimensions
print, var1, var2
查询图像函数
query_bmp query_ppm query_dicom query_pict
query_jpeg query_png query_tiff
文件选择命令
file=dialog_pickfile(filter='JPG',/MUST_EXIST)
filename=dialog_pickfile(title='读取图像窗口',filter='*.jpg;*.bmp;*.gif')
图像查询命令查询filename文件的信息输出到info,波段数输出到var1,维度输出到var2
yn = query_image ( filename, info, channels=var1 , dimensions=var2)
2、读取图像
Result = READ_IMAGE (Filename [, Red, Green, Blue] [, IMAGE_INDEX=index] )
Yn = DIALOG_READ_IMAGE ( Filename, FILTER_TYPE=string, IMAGE=variable] , TITLE=string )
示例
file = DIALOG_PICKFILE(FILTER= 'JPG', /MUST_EXIST)
image = READ_IMAGE(file)
TV, image , true=1
WRITE_IMAGE, 'PhotoCat.png', 'png', image
读取图像函数
read_bmp read_ppm read_dicom
read_pict read_png read_tiff
read_jpeg readu read_binary
3、存储图像
WRITE_IMAGE, Filename, Format, Data
Yn = DIALOG_WRITE_IMAGE ( Image, FILE=string, TITLE=string , TYPE=variable)
示例
file = FILEPATH('rose.jpg', SUBDIRECTORY = ['examples',
'data'])
image = READ_IMAGE (file)
Result = DIALOG_WRITE_IMAGE (image, TYPE="*.PNG")
存储图像函数
write_bmp write_pict write_png write_tiff
write_jpeg write_ppm writeu
4、显示图像
TV, Image , TRUE=1
在指定位置按照指定的大小显示指定的图像。
TVSCL, Image , TRUE=1
在指定位置按照指定的大小以拉伸的方式显示指定的图像。
TVSCL把图像的颜色空间拉伸到0~255,可增强图像的对比度
示例:
d = bytscl(dist(256)) & tv, d
erase & tv, d, 0
tv, d, 1
tvscl, dist(200)