tf.image.image_gradients
Stay organized with collections
Save and categorize content based on your preferences.
Returns image gradients (dy, dx) for each color channel.
tf.image.image_gradients(
image
)
Both output tensors have the same shape as the input: [batch_size, h, w,
d]. The gradient values are organized so that [I(x+1, y) - I(x, y)] is in
location (x, y). That means that dy will always have zeros in the last row,
and dx will always have zeros in the last column.
Arguments |
image
|
Tensor with shape [batch_size, h, w, d].
|
Returns |
Pair of tensors (dy, dx) holding the vertical and horizontal image
gradients (1-step finite difference).
|
Usage Example:
BATCH_SIZE = 1
IMAGE_HEIGHT = 5
IMAGE_WIDTH = 5
CHANNELS = 1
image = tf.reshape(tf.range(IMAGE_HEIGHT * IMAGE_WIDTH * CHANNELS,
delta=1, dtype=tf.float32),
shape=(BATCH_SIZE, IMAGE_HEIGHT, IMAGE_WIDTH, CHANNELS))
dx, dy = tf.image.image_gradients(image)
print(image[0, :,:,0])
tf.Tensor(
[[ 0. 1. 2. 3. 4.]
[ 5. 6. 7. 8. 9.]
[10. 11. 12. 13. 14.]
[15. 16. 17. 18. 19.]
[20. 21. 22. 23. 24.]], shape=(5, 5), dtype=float32)
print(dx[0, :,:,0])
tf.Tensor(
[[5. 5. 5. 5. 5.]
[5. 5. 5. 5. 5.]
[5. 5. 5. 5. 5.]
[5. 5. 5. 5. 5.]
[0. 0. 0. 0. 0.]], shape=(5, 5), dtype=float32)
print(dy[0, :,:,0])
tf.Tensor(
[[1. 1. 1. 1. 0.]
[1. 1. 1. 1. 0.]
[1. 1. 1. 1. 0.]
[1. 1. 1. 1. 0.]
[1. 1. 1. 1. 0.]], shape=(5, 5), dtype=float32)
Raises |
ValueError
|
If image is not a 4D tensor.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2020-10-01 UTC.
[null,null,["Last updated 2020-10-01 UTC."],[],[],null,["# tf.image.image_gradients\n\n\u003cbr /\u003e\n\n|-------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|\n| [TensorFlow 2 version](/api_docs/python/tf/image/image_gradients) | [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/python/ops/image_ops_impl.py#L3422-L3493) |\n\nReturns image gradients (dy, dx) for each color channel.\n\n#### View aliases\n\n\n**Compat aliases for migration**\n\nSee\n[Migration guide](https://www.tensorflow.org/guide/migrate) for\nmore details.\n\n[`tf.compat.v1.image.image_gradients`](/api_docs/python/tf/image/image_gradients), \\`tf.compat.v2.image.image_gradients\\`\n\n\u003cbr /\u003e\n\n tf.image.image_gradients(\n image\n )\n\nBoth output tensors have the same shape as the input: \\[batch_size, h, w,\nd\\]. The gradient values are organized so that \\[I(x+1, y) - I(x, y)\\] is in\nlocation (x, y). That means that dy will always have zeros in the last row,\nand dx will always have zeros in the last column.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Arguments --------- ||\n|---------|--------------------------------------------|\n| `image` | Tensor with shape \\[batch_size, h, w, d\\]. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| Pair of tensors (dy, dx) holding the vertical and horizontal image gradients (1-step finite difference). ||\n\n\u003cbr /\u003e\n\n#### Usage Example:\n\n BATCH_SIZE = 1\n IMAGE_HEIGHT = 5\n IMAGE_WIDTH = 5\n CHANNELS = 1\n image = tf.reshape(tf.range(IMAGE_HEIGHT * IMAGE_WIDTH * CHANNELS, \n delta=1, dtype=tf.float32), \n shape=(BATCH_SIZE, IMAGE_HEIGHT, IMAGE_WIDTH, CHANNELS))\n dx, dy = tf.image.image_gradients(image)\n print(image[0, :,:,0])\n tf.Tensor(\n [[ 0. 1. 2. 3. 4.]\n [ 5. 6. 7. 8. 9.]\n [10. 11. 12. 13. 14.]\n [15. 16. 17. 18. 19.]\n [20. 21. 22. 23. 24.]], shape=(5, 5), dtype=float32)\n print(dx[0, :,:,0])\n tf.Tensor(\n [[5. 5. 5. 5. 5.]\n [5. 5. 5. 5. 5.]\n [5. 5. 5. 5. 5.]\n [5. 5. 5. 5. 5.]\n [0. 0. 0. 0. 0.]], shape=(5, 5), dtype=float32) \n print(dy[0, :,:,0])\n tf.Tensor(\n [[1. 1. 1. 1. 0.]\n [1. 1. 1. 1. 0.]\n [1. 1. 1. 1. 0.]\n [1. 1. 1. 1. 0.]\n [1. 1. 1. 1. 0.]], shape=(5, 5), dtype=float32)\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|--------------|--------------------------------|\n| `ValueError` | If `image` is not a 4D tensor. |\n\n\u003cbr /\u003e"]]