返回一個持有 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。