用法:
skimage.exposure.rescale_intensity(image, in_range='image', out_range='dtype')
拉伸或缩小其强度级别后返回图像。
输入和输出所需的强度范围,分别为in_range和out_range,用于拉伸或缩小输入图像的强度范围。请参阅下面的示例。
- image:数组
图像阵列。
- in_range, out_range:str 或 2 元组,可选
输入和输出图像的最小和最大强度值。下面列举了该参数的可能值。
- ‘image’
使用图像最小/最大作为强度范围。
- ‘dtype’
使用图像 dtype 的 min/max 作为强度范围。
- dtype-name
根据所需的 dtype 使用强度范围。必须是DTYPE_RANGE 中的有效 key 。
- 2元组
使用range_values 作为明确的最小/最大强度。
- out:数组
重新调整其强度后的图像阵列。此图像与输入图像具有相同的 dtype。
参数:
返回:
注意:
例子:
默认情况下,输入图像的最小/最大强度被拉伸到图像 dtype 允许的限制,因为 in_range 默认为 ‘image’ 而 out_range 默认为 ‘dtype’:
>>> image = np.array([51, 102, 153], dtype=np.uint8) >>> rescale_intensity(image) array([ 0, 127, 255], dtype=uint8)
很容易意外地将图像 dtype 从 uint8 转换为 float:
>>> 1.0 * image array([ 51., 102., 153.])
使用
rescale_intensity
>>> image_float = 1.0 * image >>> rescale_intensity(image_float) array([0. , 0.5, 1. ])
要保持原件的低对比度,请使用 in_range 参数:
>>> rescale_intensity(image_float, in_range=(0, 255)) array([0.2, 0.4, 0.6])
如果in_range 的最小/最大值大于/小于最小/最大图像强度,则剪切强度级别:
>>> rescale_intensity(image_float, in_range=(0, 102)) array([0.5, 1. , 1. ])
如果您有一个带符号整数的图像,但想要将图像重新缩放到正范围,请使用 out_range 参数。在这种情况下,输出 dtype 将是浮点数:
>>> image = np.array([-10, 0, 10], dtype=np.int8) >>> rescale_intensity(image, out_range=(0, 127)) array([ 0. , 63.5, 127. ])
要获得具有特定 dtype 的所需范围,请使用
.astype()
:>>> rescale_intensity(image, out_range=(0, 127)).astype(np.int8) array([ 0, 63, 127], dtype=int8)
如果输入图像是常量,输出会直接裁剪到输出范围:>>> image = np.array([130, 130, 130], dtype=np.int32) >>> rescale_intensity(image, out_range=(0, 127)).astype(np.int32) 数组([127, 127, 127], dtype=int32)
相关用法
- Python skimage.exposure.histogram用法及代码示例
- Python skimage.exposure.adjust_gamma用法及代码示例
- Python skimage.exposure.is_low_contrast用法及代码示例
- Python skimage.exposure.cumulative_distribution用法及代码示例
- Python skimage.feature.graycomatrix用法及代码示例
- Python skimage.color.lab2lch用法及代码示例
- Python skimage.draw.random_shapes用法及代码示例
- Python skimage.feature.blob_doh用法及代码示例
- Python skimage.feature.blob_dog用法及代码示例
- Python skimage.filters.unsharp_mask用法及代码示例
- Python skimage.registration.optical_flow_tvl1用法及代码示例
- Python skimage.filters.rank.noise_filter用法及代码示例
- Python skimage.filters.gaussian用法及代码示例
- Python skimage.feature.graycoprops用法及代码示例
- Python skimage.segmentation.active_contour用法及代码示例
- Python skimage.feature.corner_orientations用法及代码示例
- Python skimage.morphology.h_minima用法及代码示例
- Python skimage.filters.threshold_otsu用法及代码示例
- Python skimage.feature.structure_tensor用法及代码示例
- Python skimage.transform.hough_circle_peaks用法及代码示例
注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.exposure.rescale_intensity。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。