图像工具¶
图像增强的模型。
示例用法:
from singa import image_tool
tool = image_tool.ImageTool()
imgs = tool.load('input.png').resize_by_list([112]).crop5((96, 96), 5).enhance().flip().get()
for idx, img in enumerate(imgs):
img.save('%d.png' % idx)
class singa.image_tool.ImageTool¶
一个图像增强工具。 对于inplace = True的操作,返回的值是ImageTool实例,用于链接多个操作; 否则,将返回预处理过的图像。 对于具有可数预处理情况的操作,可以设置参数num_case来决定要应用的预处理情况的数量。 通常,训练阶段设置为1,测试阶段设置为最大。
color_cast(offset=20, inplace=True)¶
对每个通道加上一个随机偏移值[-offset, offset]。
参数:
offset – 偏移, >0 and <255
inplace – 对原图对象操作或返回一张新图
crop3(patch, num_case=1, inplace=True)¶
对给定位置,截取可能的最大方框并缩放到给定尺寸。 按照图像尺寸,截取位置可以是(左, 中, 右)或(上, 中, 下)之一。
参数:
patch (tuple) – 输出图像的高和宽
num_case – 情况数目, 必须在[1,3]
inplace – 对原图对象操作或返回一张新图
crop5(patch, num_case=1, inplace=True)¶
截取位置可以是[左上, 左下, 右上, 右下, 中间]。
参数:
patch (tuple) – 输出图像的高和宽
num_case – 情况数目, 必须在[1,5]
inplace – 对原图对象操作或返回一张新图
crop8(patch, num_case=1, inplace=True)¶
这是patch_5和patch_and_scale的并集。 你可以依照这个例子取任何情况的并集。
enhance(scale=0.2, inplace=True)¶
对色度、对比度、亮度和锐度采用随机增强。
参数:
scale (float) – 增强范围 [1-scale, 1+scale]
inplace – 对原图对象操作或返回一张新图
flip(num_case=1, inplace=True)¶
随机向左或向右翻转图像。
参数:
num_case – 情况数目,必须是 {1,2}; 如果是2,则会返回原图以及翻转的图像。
inplace – 对原图对象操作或返回一张新图
num_augmentation()¶
返回每张图像被增强后的总数
random_crop(patch, inplace=True)¶
根据随机偏移截取指定大小的图像
参数:
patch (tuple) – 截取图像块的高和宽
inplace (Boolean) – 如果为真,直接用新图像块替换原始图像内容;否则返回新图像块。
resize_by_list(size_list, num_case=1, inplace=True)¶
参数:
num_case – 缩放操作数目, 必须不超过size_list的长度
inplace – 对原图对象操作或返回一张新图
rotate_by_list(angle_list, num_case=1, inplace=True)¶
参数:
num_case – 旋转操作数目, 必须不超过angle_list的长度
inplace – 对原图对象操作或返回一张新图
rotate_by_range(rng, inplace=True)¶
参数:
rng – 表示旋转角度范围的元组 (起始值, 结束值), 包括起始值但不包括结束值
inplace – 对原图对象操作或返回一张新图
singa.image_tool.color_cast(img, offset)¶
对每个通道加上一个随机偏移值[-offset, offset]。
singa.image_tool.crop(img, patch, position)¶
截取给定位置和给定大小的图像块。
参数:
patch (tuple) – 宽,高
position (list(str)) – 左上,左下,右上,右下,中间
singa.image_tool.crop_and_resize(img, patch, position)¶
对给定位置,截取可能的最大方框并缩放到给定尺寸。
参数:
patch (tuple) – 宽,高
position (list(str)) – 左,中,右,上,中,下
singa.image_tool.enhance(img, scale)¶
对色度、对比度、亮度和锐度采用随机增强。
参数:
scale (float) – 增强范围 [1-scale, 1+scale]
singa.image_tool.load_img(path, grayscale=False)¶
从给定路径读取图像。