Python模块_PyLibTiff读取tif文件的实例
2020-06-25 08:07:41 来源:易采站长站 作者:易采站长站整理
IMREAD_COLOR = 1#进行转化为RGB三通道图像,图像深度转为8位
IMREAD_ANYDEPTH = 2#保持图像深度不变,进行转化为灰度图。
IMREAD_ANYCOLOR = 4#若图像通道数小于等于3,则保持原通道数不变;若通道数大于3则只取取前三个通道。图像深度转为8位
对于多通道TIFF图像,若要保证图像数据的正常读取,显然要选择IMREAD_UNCHANGED作为imread的flags设置值。
安装pylibtiff
##PIL使用
导入 Image 模块。然后通过 Image 类中的 open 方法即可载入一个图像文件。如果载入文件失败,则会引起一个 IOError ;若无返回错误,则 open 函数返回一个 Image 对象。现在,我们可以通过一些对象属性来检查文件内容,即:
>>> import Image
>>> im = Image.open("j.jpg")
>>> print im.format, im.size, im.mode
JPEG (440, 330) RGB
Image 类的实例有 5 个属性,分别是:
format: 以 string 返回图片档案的格式(JPG, PNG, BMP, None, etc.);如果不是从打开文件得到的实例,则返回 None。
mode: 以 string 返回图片的模式(RGB, CMYK, etc.);完整的列表参见 官方说明·图片模式列表
size: 以二元 tuple 返回图片档案的尺寸 (width, height)
palette: 仅当 mode 为 P 时有效,返回 ImagePalette 示例
info: 以字典形式返回示例的信息
函数概貌。
Reading and Writing Images : open( infilename ) , save( outfilename ) Cutting and Pasting and Merging Images :
crop() : 从图像中提取出某个矩形大小的图像。它接收一个四元素的元组作为参数,各元素为(left, upper, right, lower),坐标
系统的原点(0, 0)是左上角。
paste() :
merge() :
>>> box = (100, 100, 200, 200)
>>> region = im.crop(box)
>>> region.show()
>>> region = region.transpose(Image.ROTATE_180)
>>> region.show()
>>> im.paste(region, box)
>>> im.show()旋转一幅图片:
def roll(image, delta):
"Roll an image sideways" xsize, ysize = image.size
delta = delta % xsize
if delta == 0: return image
part1 = image.crop((0, 0, delta, ysize))
part2 = image.crop((delta, 0, xsize, ysize))
image.paste(part2, (0, 0, xsize-delta, ysize))
image.paste(part1, (xsize-delta, 0, xsize, ysize))
return image
几何变换
>>>out = im.resize((128, 128)) #
>>>out = im.rotate(45) #逆时针旋转 45 度角。
>>>out = im.transpose(Image.FLIP_LEFT_RIGHT) #左右对换。













闽公网安备 35020302000061号