返回一个持有 Sobel 边图的张量。
用法
tf.image.sobel_edges(
image
)
参数
-
image
形状为 [batch_size, h, w, d] 和类型 float32 或 float64 的图像张量。图片必须为 2x2 或更大。
返回
- 张量保持每个通道的边图。返回一个形状为 [batch_size, h, w, d, 2] 的张量,其中最后两个维度包含 [[dy[0], dx[0]], [dy[1], dx[1]], 。 .., [dy[d-1], dx[d-1]]] 使用 Sobel 滤波器计算。
示例用法:
对于一般用途,image
将从以下文件加载:
image_bytes = tf.io.read_file(path_to_image_file)
image = tf.image.decode_image(image_bytes)
image = tf.cast(image, tf.float32)
image = tf.expand_dims(image, 0)
但出于演示目的,我们为 image
使用随机生成的值:
image = tf.random.uniform(
maxval=255, shape=[1, 28, 28, 3], dtype=tf.float32)
sobel = tf.image.sobel_edges(image)
sobel_y = np.asarray(sobel[0,:,:,:, 0]) # sobel in y-direction
sobel_x = np.asarray(sobel[0,:,:,:, 1]) # sobel in x-direction
为了显示 sobel 结果,可以使用 PIL 的 Image Module:
# Display edge maps for the first channel (at index 0)
Image.fromarray(sobel_y[..., 0] / 4 + 0.5).show()
Image.fromarray(sobel_x[..., 0] / 4 + 0.5).show()
相关用法
- Python tf.image.stateless_random_flip_up_down用法及代码示例
- Python tf.image.stateless_random_jpeg_quality用法及代码示例
- Python tf.image.stateless_random_hue用法及代码示例
- Python tf.image.stateless_random_crop用法及代码示例
- Python tf.image.ssim用法及代码示例
- Python tf.image.stateless_random_contrast用法及代码示例
- Python tf.image.stateless_random_saturation用法及代码示例
- Python tf.image.stateless_random_flip_left_right用法及代码示例
- Python tf.image.sample_distorted_bounding_box用法及代码示例
- Python tf.image.stateless_random_brightness用法及代码示例
- Python tf.image.stateless_sample_distorted_bounding_box用法及代码示例
- Python tf.image.random_brightness用法及代码示例
- Python tf.image.pad_to_bounding_box用法及代码示例
- Python tf.image.adjust_hue用法及代码示例
- Python tf.image.random_contrast用法及代码示例
- Python tf.image.rot90用法及代码示例
- Python tf.image.random_hue用法及代码示例
- Python tf.image.flip_left_right用法及代码示例
- Python tf.image.convert_image_dtype用法及代码示例
- Python tf.image.random_saturation用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.image.sobel_edges。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。