tf.image.sobel_edges
| Просмотреть исходный код на GitHub |
Возвращает тензор, содержащий карты границ Собеля.
tf.image.sobel_edges(
image
)
Пример использования:
Для общего использования 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
Для отображения результатов Собеля можно использовать модуль Image Module PIL:
# 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()
| Аргументы | |
|---|---|
image | Тензор изображения с формой [размер_пакета, высота, ширина, глубина] и типом float32 или float64. Изображение(я) должно быть размером 2x2 или больше. |
| Возвращаемое значение | |
|---|---|
| Тензор, содержащий карты границ для каждого канала. Возвращает тензор с формой [размер_пакета, высота, ширина, глубина, 2], где последние два измерения содержат [[dy[0], dx[0]], [dy[1], dx[1]], ..., [dy[глубина-1], dx[глубина-1]]], рассчитанные с использованием фильтра Собеля. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/image/sobel_edges