{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "GWEKvPCCxJke" }, "source": [ "##### Copyright 2020 The TensorFlow Authors." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "cellView": "form", "execution": { "iopub.execute_input": "2021-02-13T03:00:46.219935Z", "iopub.status.busy": "2021-02-13T03:00:46.219347Z", "iopub.status.idle": "2021-02-13T03:00:46.221664Z", "shell.execute_reply": "2021-02-13T03:00:46.221127Z" }, "id": "l-m8KQ-nxK5l" }, "outputs": [], "source": [ "#@title Licensed under the Apache License, Version 2.0 (the \"License\");\n", "# you may not use this file except in compliance with the License.\n", "# You may obtain a copy of the License at\n", "#\n", "# https://www.apache.org/licenses/LICENSE-2.0\n", "#\n", "# Unless required by applicable law or agreed to in writing, software\n", "# distributed under the License is distributed on an \"AS IS\" BASIS,\n", "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", "# See the License for the specific language governing permissions and\n", "# limitations under the License." ] }, { "cell_type": "markdown", "metadata": { "id": "O8FuVCLYxi_l" }, "source": [ "# TensorFlow Addons 画像 : 操作\n", "\n", "\n", " \n", " \n", " \n", " \n", "
TensorFlow.orgで表示 Google Colab で実行GitHub でソースを表示{ノートブックをダウンロード/a0}
" ] }, { "cell_type": "markdown", "metadata": { "id": "2a5ksOt-xsOl" }, "source": [ "## 概要\n", "\n", "このノートブックでは、TensorFlow Addons で画像操作を使用する方法をいくつか紹介します。\n", "\n", "この例で説明する画像操作のリストは以下の通りです。\n", "\n", "- `tfa.image.mean_filter2d`\n", "\n", "- `tfa.image.rotate`\n", "\n", "- `tfa.image.transform`\n", "\n", "- `tfa.image.random_hsv_in_yiq`\n", "\n", "- `tfa.image.adjust_hsv_in_yiq`\n", "\n", "- `tfa.image.dense_image_warp`\n", "\n", "- `tfa.image.euclidean_dist_transform`" ] }, { "cell_type": "markdown", "metadata": { "id": "DMbjxr4PyMPF" }, "source": [ "# セットアップ" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2021-02-13T03:00:46.230195Z", "iopub.status.busy": "2021-02-13T03:00:46.229594Z", "iopub.status.idle": "2021-02-13T03:00:48.009261Z", "shell.execute_reply": "2021-02-13T03:00:48.008685Z" }, "id": "o_QTX_vHGbj7" }, "outputs": [], "source": [ "!pip install -q -U tensorflow-addons" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2021-02-13T03:00:48.014173Z", "iopub.status.busy": "2021-02-13T03:00:48.013460Z", "iopub.status.idle": "2021-02-13T03:00:54.052989Z", "shell.execute_reply": "2021-02-13T03:00:54.053442Z" }, "id": "5hVIKCrhWh4a" }, "outputs": [], "source": [ "import tensorflow as tf\n", "import numpy as np\n", "import tensorflow_addons as tfa\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": { "id": "Q6Z2rsP8yp2v" }, "source": [ "# 画像を準備して検査する" ] }, { "cell_type": "markdown", "metadata": { "id": "9gbgJP10z9WO" }, "source": [ "## 画像をダウンロードする" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2021-02-13T03:00:54.058974Z", "iopub.status.busy": "2021-02-13T03:00:54.058350Z", "iopub.status.idle": "2021-02-13T03:00:54.462794Z", "shell.execute_reply": "2021-02-13T03:00:54.462352Z" }, "id": "IgUsVhBQ6dSg" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloading data from https://tensorflow.org/images/tf_logo.png\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 8192/39781 [=====>........................] - ETA: 0s" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "16384/39781 [===========>..................] - ETA: 0s" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "40960/39781 [==============================] - 0s 3us/step\n" ] } ], "source": [ "img_path = tf.keras.utils.get_file('tensorflow.png','https://tensorflow.org/images/tf_logo.png')" ] }, { "cell_type": "markdown", "metadata": { "id": "uheQOL-y0Fj3" }, "source": [ "## 画像を検査する" ] }, { "cell_type": "markdown", "metadata": { "id": "MFGirRRZ0Y9k" }, "source": [ "### TensorFlow のアイコン" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2021-02-13T03:00:55.869606Z", "iopub.status.busy": "2021-02-13T03:00:55.868654Z", "iopub.status.idle": "2021-02-13T03:00:56.324823Z", "shell.execute_reply": "2021-02-13T03:00:56.325272Z" }, "id": "NRlvNQdm1YI8" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "img_raw = tf.io.read_file(img_path)\n", "img = tf.io.decode_image(img_raw)\n", "img = tf.image.convert_image_dtype(img, tf.float32)\n", "img = tf.image.resize(img, [500,500])\n", "\n", "plt.title(\"TensorFlow Logo with shape {}\".format(img.shape))\n", "_ = plt.imshow(img)" ] }, { "cell_type": "markdown", "metadata": { "id": "clXQrFVa2nN7" }, "source": [ "### 白黒バージョンを作成する" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2021-02-13T03:00:56.331887Z", "iopub.status.busy": "2021-02-13T03:00:56.330795Z", "iopub.status.idle": "2021-02-13T03:00:56.879777Z", "shell.execute_reply": "2021-02-13T03:00:56.880269Z" }, "id": "tbaIkUCS2eNv" }, "outputs": [ { "data": { "image/png": "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9jcee+wx3nvvvWrzVWBmRk5ODg8++CCvvvoqffr0oUWLFmRkZHg4lKMSA8HM3gSKO2DrWMTyBgwoY12ukD179vDBBx/w6KOPMmPGjGo7Cr9r1y4WLlzIsmXL6NSpEz179uSYY47xMYVy4t+HkKLS0tLir1dbvXo1w4cPZ9y4caxfvz7JlaWG7du3M3XqVN566y26d+/OZZddRnZ2drLLqvI8EFLY1q1bmThxIkOHDuWzzz7zrnEhZkZubi7Dhw/n9ddfj78SLSsrK9mlVVkeCClGEjt27GDevHk88sgjvPPOO9VmnOBA5efns3LlSv7whz8wc+ZMevXqRfPmzeOfwHOl5/dYCjEzli5dypAhQ5g+fbr/qMh+ysvL4+2332bZsmWcf/759OzZkyZNmpS8oot5IFSg0gx0FXzH4tdff83QoUMZM2aMjxOUgZmxZcsWpk6dyptvvsmVV15Jt27dOOyww5JdWpXggVBBateuXaou68aNG5kyZQpDhgwhJyenEiqrPr799luGDRvG7Nmzufrqq/nFL35BZmZmsstKaR4IFaTgp9mKk5eXx5w5c3j44Yd555132LVrVyVVVr2YGStWrOChhx6iVatWXHvttTRr1qzE/0915YFQicyM/Px8li9fzsMPP8y0adOq7fkExUlLS+OKK67gyy+/ZMmSJeU2oLpr1y4WLFjAsmXLuOiii7jyyitp1Cj6zJ2fw/ADD4RKYmasXr2aYcOGMWrUKHJzc0teqRqSRPPmzeMPak2YMIHPP/+cPXv2lMv2t23bxtSpU/nHP/7B5ZdfTufOnX/0+QhJ1for1DwQKsHmzZuZPHkyQ4YMYcWKFf57jqVw6KGHcumll3LOOecwbdo0nnvuOdatW1cu2zYzvvnmG5566inmzJnD1VdfTZs2beLxhep8OFF9b3klyMvLY9asWVxyySUMGDCAjz/+2MNgPx1xxBFcf/31jBgxgksuuYRatWqV27b37NnDihUrePDBB/n973/Phx9+WO3/P95DqCDr16+nf//+zJo1iy1btiS7nCqt4DcY7733Xrp27cq4ceN49913y20gNi8vj3/84x8sW7aMs846q1qP63ggVJBVq1axatWqZJdxUElLS6N169Y0a9aM+fPnM27cOD799NNye1XfsmULs2fPLpdtVVV+yOCqDElIolatWlx00UU88cQT3HTT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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "bw_img = 1.0 - tf.image.rgb_to_grayscale(img)\n", "\n", "plt.title(\"Mask image with shape {}\".format(bw_img.shape))\n", "_ = plt.imshow(bw_img[...,0], cmap='gray')" ] }, { "cell_type": "markdown", "metadata": { "id": "UwqfpOm--vV2" }, "source": [ "# tfa.image を使って遊ぶ" ] }, { "cell_type": "markdown", "metadata": { "id": "jIa5HnomPds3" }, "source": [ "## 平均フィルタリング\n", "\n", "平均フィルタリングはフィルタリング技術の 1 つで、画像や信号のノイズ除去によく使用されます。この考え方は、画像をピクセル単位で処理し、隣接するピクセルの平均値で置き換えるというものです。" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2021-02-13T03:00:56.885786Z", "iopub.status.busy": "2021-02-13T03:00:56.884739Z", "iopub.status.idle": "2021-02-13T03:00:57.690002Z", "shell.execute_reply": "2021-02-13T03:00:57.690395Z" }, "id": "SutWnbRoHl6i" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "mean = tfa.image.mean_filter2d(img, filter_shape=11)\n", "_ = plt.imshow(mean)" ] }, { "cell_type": "markdown", "metadata": { "id": "Mp6cU7I0-r2h" }, "source": [ "## 回転\n", "\n", "この操作は、特定の画像をユーザーが入力した角度(ラジアン単位)に回転させます。 " ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2021-02-13T03:00:57.696375Z", "iopub.status.busy": "2021-02-13T03:00:57.694874Z", "iopub.status.idle": "2021-02-13T03:00:57.843694Z", "shell.execute_reply": "2021-02-13T03:00:57.844121Z" }, "id": "9kxUES9sM8Jl" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "rotate = tfa.image.rotate(img, tf.constant(np.pi/8))\n", "_ = plt.imshow(rotate)" ] }, { "cell_type": "markdown", "metadata": { "id": "WjMdSDKlBcPh" }, "source": [ "## 変換\n", "\n", "この操作は、特定の画像をユーザーが指定した変換ベクトルに基づいて変換します。 " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2021-02-13T03:00:57.849630Z", "iopub.status.busy": "2021-02-13T03:00:57.848668Z", "iopub.status.idle": "2021-02-13T03:00:57.988143Z", "shell.execute_reply": "2021-02-13T03:00:57.988607Z" }, "id": "HTh1Qpps8Rg5" }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQEAAAD8CAYAAAB3lxGOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAmhklEQVR4nO2de5RU1Z3vP79qGhCE7qZFbAFtoYmKBtCgoHgTQ8PEJEY0A0QlE1aWiGtlMiuJZnI1mUyud91MJlmTcUQTl4AKJpkoIAZEk4zPPJzxgQrIwwfgA5CmUZ6NCk33vn+cfapOVVdV1+OcqnOqfp+1mqqzz6lzdhW1v/V77PPbYoxBUZTqJVbuDiiKUl5UBBSlylERUJQqR0VAUaocFQFFqXJUBBSlyglEBETkMhF5XUS2isjNQVxDURR/EL/nCYhIDfAGMB3YCbwIXGOM2ezrhRRF8YUgLIELga3GmO3GmGPAA8CMAK6jKIoP9AngnMOBHZ7tncCkbC8QEZ22GCEaGhpobm4mFtOQUpR46aWX3jfGDE1tD0IEckJE5gPzy3V9pTBmzZrFokWLqKurK3dXlDwRkXfStQchAruAkZ7tEbYtCWPMQmCh7ZxaAiFHRJg5cyaLFy9m8ODB5e6O4iNB2HMvAmNE5AwR6QtcDawO4DpKiRARZs2axcKFC1UAKhDfLQFjzHER+SbwR6AGuNcYs8nv6yilY+bMmdx9993U19eXuytKAPieIiyoE+oOhBJ1ASoLEXnJGDMxtV3Du0pa1AWoHlQElLSoC1A9lC1FqIQXTQNWFyoCShw3BqACUF2oO6AAyTEAFYDqQkVAATQGUM2oO1DlaBpQUUugitE0oAIqAlWNugAKqDtQtcyaNUtdAAVQS6DqEBFmz57NokWLVAAUQEWgqnBjAHfffbemAZU46g5UETNnztR5AEoPVASqAE0DKtlQd6DC0TSg0hsqAhWOpgGV3lB3oEJRF0DJFbUEKhDXBdA0oJILKgIViKYBlXxQd6DC0NuBlXxREagQ1AVQCkXdgQrAOxNQBUDJFxWBCkDTgEoxqDsQYTQNqPiBWgIRRWcCKn6hIhBR3BiAugBKsag7EEE0C6D4iVoCEUILgihBoCIQEbQgiBIU6g5EBC0IogSFikDI0TSgEjTqDoQYTQMqpUBFIMToTEClFKg7EELUBVBKiVoCIUPvBlRKTa8iICL3iki7iGz0tA0RkcdF5E372GDbRUQWiMhWEdkgIucH2flKRNOASqnJxRJYAlyW0nYz8KQxZgzwpN0G+Dwwxv7NB+7yp5vVgRsE1BiAUkp6FQFjzJ+BfSnNM4Cl9vlS4EpP+/3G4TmgXkSafOprxeK6AIsXL1YLQCk5hcYEhhljdtvnbcAw+3w4sMNz3E7b1gMRmS8ia0VkbYF9qAg0DaiUm6KzA8YYIyKmgNctBBYCFPL6SkHTgEq5KdQS2OOa+fax3bbvAkZ6jhth25QUvC6ACkD4MIAxJvnP3ZfSDtH+DStUBFYDc+3zucAqT/vXbJZgMnDQ4zYoFnUBwo4BY6D7GHy8H7qPJ/YYAx+2Q9fHZeyfv+SSIvwt8D/AmSKyU0SuA/4VmC4ibwLT7DbAY8B2YCuwCPhGIL2OOOoChAtDyi/+4d3w+gp44luw+wWI1dgDDezdACsvh82/BtMdb44yYkLwDqopJuC6AGoBlI+e33kDnUdg13Ow5bfw7tNwrAOm3Q5nfQXE/lbuXQ9rroV9W2BgE8xYAU2TAYmfSUQIKyLykjFmYo92FYHS4E4FXrRokaYBy0jS973zCLy/GbY9Cq+vhP1vQNcxOGEITFsAZ1+NxGqc1+xdD49+FT7Y5LxWgFOnwOUPwImJBJiKQIFUugh4C4KoC1Ae4t9zcxz2b4c3Vzt/7euh83DiwAGN0Hp7XAAATPs6WDMH9m1OHCc4FsI5X4PP3gG1AxO7QioEmURAbyAqAVoQpLSkNfcPvwc7n4WNv4adf4Wjh4BuryXvWABWAIhbABviLoCQmgfohtd+C8M+BeNuAOljr2a8DkIg79FPVAQCRO8GLANxATDOQN/xF3htJbzzFBzaARjiP9QSP9IRgOl3ODGAWI1znvZ18OicuAC4LzGSeC1dR+H5H0PDmXBaK1EY9KmoOxAQ6gKUBoNJ/nk+dhje3+IM/DdWw8G3oPsoYIdnOgFIcQESMYA58MHmpGGdJADek548Hr64DOpaPM3hEgSNCZQYvRkoeBJ+fhe8/xpsfdQZ+Htega6PEuIgWQTAEwSMWwB7N8Caa5IsAMgkAJaYwJjZMG0h1A5ydkdEBNQd8Bl1AYIj6QfLdMHh3fDWE7DpQSe9d+wQ2N8TyTRge7gAC+AsrwCsT4oBxC+Xej7PphF7xu0Pw/pxcP53IVaLMa7rES4xSEVFwEd0JqD/OOPe4+d/+AG8+1fr5z/jBPxMd/KgTx1zvcQA4i5A+zp47Ku5CYD3nO7z7mPwys9hyFgYdQUgtucGCbEQqAj4iDsTULMA/hAXgGOHYc8G2LICXl/lDPyuY/EoXVwA0gzW9ALQGJ8I5KYB2buhRxAQ8hAAl6P74LkfOIHChrOSXJKwojEBn3BLgqkAFE7Sd7H7OOzdDK+vhjfWwJ51zi+tB8fnNnkKQJosQD4uQCYBENctsAedcTm0LoF+DSmvLZ8aaEwgIDQG4A/GGGfgH34Ptv0XvPqf0LYOPj7gHJAy6PwVgCItgB59MPDO7+Hln8Gk/wux2jw+idKjIlAE3jSgCkB+GG8+v6Md3vkzvP6IIwAfvR+/OadHXp4CBcBNA3pjAO5U4H29pAHJTQDigUJwZiZuuguGngejZ4LEMCZ0WUNARaAo9G7A3Ejrch7rgN0vw4bfwvbH4eAO6O4EkgeKLwKQw0zATNdL6k+vFoC9nrvdeQhe+CeoGw1DP5X4LIRQBQo1JlAA6gLkTtJknq6j0LYBtj0OG5c7N+90daYMcs9rMw3IvASgAabfmTITcD08GrAAxPcJnPpp+Jtl0H9ofF85REBjAj6hLkBuxH9cuo7BoV2Oqb/5YcfPP3oQSIyROL5bAMlZAF/SgN7tDAIg4p3EaKDtr/DyT2DSj6HmBKdmCeGZQ6AikCfqAqTH4H6djZPaO/Sek8/fuBzeesap0GP9/Lj/HKgADHEEIGkqsA9pwBwsgKRtcCY2vbYYhpwDZ36deH2C+KvLKwQqAnmgBUF64g3wmc4P4Z3/hlcfhG1POjfsmO4eg6gkAuDJApgMNwOlu55zTc8583UBMr23zg546UfQMBaGTabcA9+LxgRywDsTsNrnAfS4YafzCOzZBK89Apt/B++/4QT47GA3ZRSAJBfAxyxA4rNIbMddgKT+pxwnwLAp0PobGHhayvsMHo0JFIg3BlD1AuD+YHR3wb5t8Noa2LwK2tY7s/q8A5ZyCECmmYDBC0Dq+0krAADtz8FLt8LFd0CfAYQBFYFeqOaCIMlWooFDux3//tVlsP0ZJ81nDIjpMcDLYgHYGEByGjCHuwHxNwaQFBjsca0u2PZrOGkCnP0NEKevktSJ0qIikIGqTQPayLXzvNspzPH2X+DVh+CtP8GBd3oOoPg/9mVFCEC8EwW6ANkKgmS6np8xAEn3+tS+d3fCun+B+rFw6lRAbHiwPDcaaEwgDdVaEMSZ6WZv2GnbDJsedsz9/W/HC3PEB7VL6iAptQVQTEEQShADyLav8TyYugwGjU45LhgR0KIieVA1BUE8q+rQ3eUE9TY/AlsegfdegeMfQZpyXHHKLQDFFATBfwsgkwuQah0k32g0C6a4hUjE8xr/hUADgzlQTS6AMcbJXx98D7Y9Da/8J+x43hbgtF9noSQCYFuLdwF8uhvQTxegx74kDLz7O2gcD+d+F6Q8NxqpCFgqvSBI0g07H+6Hbc/AplWw7SlbmMMkmbrOk5RHPNvltgD8Lgji3fbZBUi9lvv5GHBmVG78OdSfAyO/lOYDCB4VAUslpgGTXL2jh6FtI6xf7pj8B3ckCnOA54vuGZSe9jhhEIBpC0qeBsxmAeQkAGneV1xUju2Dl2+BwS1QN9Y5pzGlmz+gMYHKLAgSvz+/bSNsftQZ+O+tcwY+JH9pI2MBNMC0O1JiAOV1AXIWgDSPydeIwcjL4eJ7oF9j/CA/dUBjAmlwXYBFixZVlAtguo/Dlj/An34Ou16Bjw8CKeZs5AQgfGnAfFyA1HP1uL+Abnjvj87fGdf2PFeAVK0IVOrdgKbrOLz8G1j1bfjoAJDlSxsZAUhzN2C8IEiwMYDU91usC5BWAASQGmieDSMut59niRSAKhaBirwbsPs4rF0Kq260Uf7Edy26ApBpJmDwLkA+MwELcgHi54kho66FC++A2sElFQCoQhGo2DRgVyesXYqs+g4c7Ui0SzgEwLb64AKsL01BkJT3k1caMIMgZBIARs3BTLoT6TOo5AIAEOv9kMqhYtOAXZ3w4lJYfVNCAOyXMQwCIFJgWXBPGjAeA3gs2BhAXjcDeY/PdC37mNEFGHUtXHgnlEkAoMosgYqcCuy6AI/cBB87LgCZvrTxL7rHLPe0x/FZAAp2AfxeF6AIC8D/GEAMmmfBBbdD7aCSpQPTUTUiUIlZALrcGMB3kl0AerMAQi4AqQVBSpgGLCoImOYxswDMhkm/gL4NZRUAyMEdEJGRIvK0iGwWkU0i8i3bPkREHheRN+1jg20XEVkgIltFZIOInB/0m+il/8yePbsCBaATXlxig4DhdAGKnQkYdwF8XxcgABcgbwH4JdJvSNkFAHKLCRwHbjLGjAUmA38vImOBm4EnjTFjgCftNsDngTH2bz5wl++9zpGKLQjSfdyJATzy3XgWoHcXIHm7EAEw9ottJPE8fmzRAtCYZibget9nAhp8FoAM7yu7ANyJ9K0nLPQqAsaY3caYl+3zw8AWYDgwA1hqD1sKXGmfzwDuNw7PAfUi0uR3x3PBLQhScTGAF5fC6hvjk4BcghKAeFuffjBkVPI1/bIAUtKApn29dQF8FICBTTDg5B6DNdUFSBKK3gQgZwtA4i6A9B2ScrLykld2QESagfOA54FhxpjddlcbMMw+Hw7s8Lxsp20rGa4FsHjx4sqyANwswKrvOPcCuEiAAtCnL5x8Nlx0I8xeDicOy/hae4bCXADvVOD2df7fDlzfAp9bBv9rAfSrT/t55J0GzFkAYtD8FZj8S6RvQ6gEAPIIDIrIicBDwLeNMYe8vowxxuQ7/19E5uO4C75SqTMB6fK6AFYAMpmtxQpALAaDToWWz8HYq2DEJOeeg4e/huz4n8SxRVsAGWYC+n03YH0LTL0PmqZA18fw/suw/udguuLHu4f6nwZMBAGltj50AgA5ioCI1OIIwG+MMStt8x4RaTLG7Lbmfrtt3wWM9Lx8hG1LwhizEFhoz+/bDUQVPRNw9U2JGIDFVwE4YQgMvwDGXQMtfwMDh4LUwJF2RwC2P5k4tmgBKNFMwLpR0HofnDLF2a7pDxP+0RGCnU+6V8hvJmCa99V7DCB8FoBLryIgzv/wPcAWY8y/e3atBuYC/2ofV3navykiDwCTgIMetyEwKncmoJsG/LZvMwGTBlVtf2g63/nF/8TnofFMxyzHDu6OPfDQNfDW0z1f6x4T1oIgdaNh2lI45WLnRe4ds/0bYfLP4PHZcGhrz9enXifN+8hdAH7pBAFDKgBA77cSi8glwF+AVwG7hAzfx4kLLANOA94BZhtj9lnRuBO4DPgQ+LoxZm0v1yjKEqjYdQGSZgIWlwVI+qXr0w/qT4ezr4BzZsKwc6B2YM901eHd8PBXYftTzjl8FoBA1wWoHwOt9zoWgNd1xdjIXzdsWwZ/vgGOJ7tXSdfJdC372HsasIGwUNE1BmfPnl2ZLsALS4qeCZgY/DGoGw6jW+HsGXDGp6F/ffzFPQSgow1WzvFZABqTlgYDMO3rArAAWhwXoClZAJx+mMSH0t0Jz98Mm+4Ac7znddK8j7xiACFzASq2nkBFWgDdx+HF+500oDcLQO8zAU1Su0C/wXDaJBg/B0ZPhUGngHjM/XQcaYeVflsADaWLAUxbknABenRNnAFsDMRqnfjA/ldh1xPJfU/zPnoXAHGmAodQALIRWUugcmMAnbD2/oLSgPH9tQPg1Alw5hfgnKugcQzEkvU+owB0tMFDc+CtYFyA5IIgfrsALYkgYC8DMKnm4gfr4PGroOPdRNcLcgFmwaS7QhsDqChLQNOA3kdxTNyavtBwGpxzJYy9Ek75JPQd5B5Cz9GahsO74eG/81kAshUE8VkApvaMAfSOwJAJ8Klb4b//ATo74taUeA5xH3t3AepDKQDZiKQIVFIaMP6LZLqQfNKA7hdt8HAY9WkYN9v6+XVI0tLXOXXCpgH/DiKbBlyS0QVIh9hsgXEvNOorjkWw+U5n/oBnwLsaGuU0YDYiJQKV5gLELdLuThsD+E4OaUCBvgNg9KVw7kwY/VmoH0nPUZkHR9qzpgFtb31wAdb7XxCkriVrDCBnavrDhFtg3zpo+zNpA6wZBSD8acBsREYEKtcFOAZ/vRP+69akuwF7TF7pOxCGjXXM/XOvcubw1/R1Dinmyxd3AfycB9AI0xcEvi6AcWcCnnJxYZ+BCILHGut/MlzwE3hmDnS8Fe9Lry5AiNKAhRAZEagkF8BFujvh2V/AH38Ex47YRs8BsRgMHQNnfcEZ/MPPg74n2sMEip1o2dEWgAuQaXlwf28HNnWjnBhA08X5vOPeOekCmPBDeO6b0PVhbmnAiBMJEajEdQE4fgyevRN+/0NM54eJdonBiUMdc//8r8IZU6B/HfFvov31shuFX/9Ie0BZgAWBFgSJy179GDhpfPzAYhbrcN+rMYDUwOhr4YO18MbdifsL4v2Q0M4DKJRQi4AbA6g8ATgKz/4C84d/hs4PnS9S/zo4/SIYdxWMaYWGZkCCKTrR0ebMAwgoDdhjdWCfC4IAsOtpePUXMOE7EOvnnLeoVXuEuMTE+sK478OBjdD+F+JLtEkMTrsy0kHAdIR2nkDFLg9uYwDmDz9yVgI+ZSx88stw7gxoHAV9+ieOFWv2+4krAEG4AKkzAQNeHpwThsJnF0LzFfHGYkQzeSwY2Psc/Olq+GgHEIPTr4JJv4R+Q4MR54CJ3LThSloePD5VtbsTnr3LKQvWMhXO+aLz69+nH4H96nvp2AMrr/X/XoByLg/ecDZ8/mGo+0TKOQv9LE0ia0MXvLEY1t4Ewy+DyXdFVgAgQiJQaWlA8PzC7H0TDrwLp45zbtO1uFNZA6WXuwHBDp4CXYDyLQ0mcMaX4DOLof9JSecozIryigDQ9SG8/SCMuAL6NUZWACAiIlCpLkCmz7hkXyg3DeinCzAguSagcecBPBasC9AjZSc49wCMvwkm/h/Hn096X4WR7v8sygIAmUUgVIuPVGIaEJwvT7q/ktCxJ5iZgK23p2QBNjgTgYKMAaQKgHtAdydsuhPe/p1zi7C7q4gfuLL9f5WB0IiAWxOw0gSgrLgugO9TgVNjAOtLFwOQ5JfEtzs74MUfwgev9PgYlOyEwh0YMmSIeeuttyorDVhuAskCJASgx81AH2wqnQvgOVeyUAgM/yy0Pgj9GkmeU6GE+i7C5uZmFQA/CUIABjQ6LoAnDehYAHP8vRuQngKQ1CfSCED8GOO4BtYlUAFwMMawatWqjPtD4Q7EYqHoRmXQsQceujZQF8BZF2CddQGCjwHktDSYAKdcApf+CvpHN43nN8YYli9fzty5czMeEwpLQPGJjjZHAEpSFHQO7HuttDGAbAIw9AJHAE48TQXA0t3dzYoVK5g3bx6HDx/OeJz+BFcKh3fbqcA+CkBKGhBvDCBgFyAp6EcWAQAYMg4++xtkULMKgKW7u5vly5czf/78rAIAaglEnyALgtgYQKAFQUjvAqQKQI9bq93nQ8bDtOUwuAXFwRjDihUruOGGGzh48GCvx6sIRJ0oFwQhdxegx/kEaBwPrStg8Gi1ACy5ugBe1B2IMod3O2XBs7gA+U8Fbky/PPhj4VoenCHjoXU5UteiAmDJxwXwopZAVIlwQZD49QoJAoJjAUxbgdSpC+CSrwvgRUUgirhpQN+zACkFQUroAuScBhziCACDR6M4uGnA66+/nkOHDvX+ghRUBKJGfF2AYNKAQRcEyXsmYJogoFoACdwYQKECABoTiBaH22BlEOsCLEhxAVwBCMlMQHDSgNOWI3VjUBy8MYBCBQDUEogOHXvs4qARXBeAni5AfmnAcdYFUAvApZgYQCoqAlEgh4Ig+QtAQwgKgqScK/V8gk0DOvMANAvgUEgaMBvqDoSdoNKA01LTgOv9XxeAYl0ANw04RgXAUmgaMBtqCYSZoAqCpHMBfMwCGICBTWCOw0d74/vzDwJqGtCLny6AF7UEwkpHezAFQabfEXxBkLrR8LllcPG/Qd/BWV0ATQPmhpsGnDdvnq8CACoC4aSjDVZmjgH4kQaMxwDW+BwDqB+DTFsCTVNg9EwYe50jODm7AOOg9QGdCuyhu7ubZcuWcf311/vmAnhREQgbHTYN6GtZ8HRpwA3+3w1YNxqm3uMsDw7Q5wQ473t2WxKvIZMAfNKpClR3pgqAxY0B3HDDDUWlAbOhIhAm3KXBtj8BBBcDCKQgSN0omLYUmi5xXuS+8IRhcNHPYNDIzAIgQOO5MG2ZCoAHNwYwf/58310AL72KgIj0F5EXRGS9iGwSkVtt+xki8ryIbBWRB0Wkr23vZ7e32v3NgfW+kujYAyuuzjgRyMGHGED7Ov/nAdS3wLT7My8PPnSiUw68dkDP1wrWAlAB8OJaAPPmzQvMAnDJxRI4Ckw1xowHJgCXichk4KfAbcaYFmA/cJ09/jpgv22/zR6nZCOwNGCmgiA+C8DUe3sIQNLpJAYtV8Mn5kIsJSE15FxofRCpO0sFwBJEGjAbvYqAceiwm7X2zwBTgRW2fSlwpX0+w25j97eK/u+mx5jSpgHXXOu/C9B6X8IFSO2at15/TX847xYYdlHiHI3nOhOB6s5Kb0FUIUGlAbORU0xARGpEZB3QDjwObAMOGGOO20N2AsPt8+HADgC7/yDQmOac80VkrYis3bt3b1FvIrIcyZ4GdAhrGrAFpv3KCfrlOoAHjoBJP4MBp1gXYLm6AB68LkCpBAByFAFjTJcxZgIwArgQOKvYCxtjFhpjJhpjJg4dOrT3F1QagbgAGdKAfk8Frm9xLIBTLspJAJIG+ckXwJQ7oXUZogIQxxWAoNKA2chrxqAx5oCIPA1cBNSLSB/7az8C2GUP2wWMBHaKSB+gDvjAxz5HnygXBKkbDVPvc+YB5DWA7XsiBs1fdk6nAgAkJgIFmQbMRi7ZgaEiUm+fnwBMB7YATwMz7WFzgVX2+Wq7jd3/lAnDMkdh4Ui7YwH4KgANadKAQbgAbhowXwHAZg096/qpAAAJAQg6DZiNXCyBJmCpiNTgiMYyY8waEdkMPCAi/w94BbjHHn8P8CsR2QrsA64OoN/RJOB1ARKrA68LJgvQuiRzGlDJm3K6AF56FQFjzAbgvDTt23HiA6ntHwOzfOldJeEuD+6rAKRzAdYHMBMwfRpQKRzvTMByCgDoXYTBE+S6AKUoCFI3CqYtUQHwkXKkAbOhIhA0JVsXYF1AWYAlKgA+4ndBED/QeweCpGRpwPW+FwRxZgLepwLgI6WeCZgragkERWAzAVPKgvtcEAQoIg2oZMKbBgyDC+BFRSAIOrK7AP6uDhyAAEy7P+eJQErveNcFCJMF4KLugN8c3h3pgiBOEFAFwC+CLgjiB2oJ+ElHmy0L7mNBkAGNzurAadcF8PlegKn35ncvgJKVUhQE8QMVAb840g4rfRaAUi0PrmlA3/EWBAmzAICKgD8Esi5ApjSgzgQMO2FMA2ZDYwLFUsqCII/5PBMwQ0EQpXDCmgbMhloChVIJMwFb79MYgI+EbSZgrqgIFEqpZgIGkgZs0RiAz0TNBfCi7kAhRLogyBhrAagA+EVY7gYsFLUE8iWINGApC4K0ahrQT8pdEMQPVATyIV4QxE8BaMgQAwioIIhaAL7hLQgSVQEAFYHc6WgLQABKWRBEXQA/iXIMIBWNCeTC4d0BTARKTgOapHUBgigIoi6AX0QxDZgNtQSyUQlpQM0C+EpU04DZUBHIRpQLgmga0HcqyQXwoiKQBmNMoiy4FYDUQVewCzA9xQXwuSCIgaSZgFrX3x/CVBPQb1QEUjAYOHoQVn3dWRw0ZTBDkS5AQAVBjNiNxnPgM3dB08X5v3klLZXoAnhREUjFAF2dIJ6YqY9ZAL9mAiaW945Bv8Fw6sUw5hoYMRUGNHn6qhSDmwasNBfAi4pAOgacBK0/hve3wIG3E+0ChQlApixAbgKQGPCeHX0HwknjoPmLMPpvnSBgrBYQDQH4hBsDiOpMwFxREcjEyePg0lvh99+AY0eSB3iuAhAvCHJ1ckGQNXMKSwPGap3BPmoGjL4CGsdB7YlJnVAB8IeoFATxAxWBTEgMxs6CtrXw4i/BdMV97x4DLZMFUERBkHiQLyYw8FQYfgmcOQdOvcQx/4mpuR8QUSoI4gcqAqm448oAffrDlFugbR3seBakO/PxPqYBkRjUDoCRn4HRV8Jp02HQyKQDVQCCoVLTgNlQEUhB7EAz2DVUB54CU38CD18Lh9/tGZn3PKarCWiSCoJkEQABagdCw5nQ8mUYPcNJ9dX0c3broA+cSk4DZkNFIAMiQnwx5eGT4JJb4Ikb4fhHGFL8dXJ3AeLLM8djCwINn4DTp8OYv4WTJzpigBUkHfslodLTgNlQEcgFqYFPfg3aXob194CxbkHaLMDVGdOAcQGIxZyJQyMvhbOtn9+/gSRzXwWgZFSjC+BFRSALYvNzBgN9ToAp/+T8su9+PjGgIfPdgNYFACsA/eqg6QJouQqaL4PBp4PEnLGu5n5ZqLSbgQpBRSAfBo+Az/wLPDIHjrQ5bb0UBKGmLzSeDZ+YCaO/5FT26XNC8nlVAMqC1wWohixAJlQEeiPVkT/t0zDpu/Dn7zs5+mkL4GzvVGA7EajrKIyb72QImiYnDXwN8pUf79Jg1SwAoCKQE+6gNcY48YHx18P+rTDy03DWbCelZwwcegfefBgu/hEMv9jJ76ODPmxUewwgFRWBQug7CKb+3EnfSSyRSRg4DCb/wE7f1cEfRqo1DZiNnCsLiUiNiLwiImvs9hki8ryIbBWRB0Wkr23vZ7e32v3NAfW95MSrCINj3kvKrL2a/hCrtcepAISNak4DZiOf8mLfArZ4tn8K3GaMaQH2A9fZ9uuA/bb9NntcRSFCj4HubuvgDyeuBTBv3jwVgBRyEgERGQF8EVhstwWYCqywhywFrrTPZ9ht7P5WqaiRkW6erxJmNA2YnVwtgf8Avge4k+cbgQPGmON2eycw3D4fDuwAsPsP2uMVpeSoC9A7vYqAiFwOtBtjXvLzwiIyX0TWisjavXv3+nlqRQGSC4KoAGQmF0tgCnCFiLwNPIDjBtwO1IuIm10YAeyyz3cBIwHs/jrgg9STGmMWGmMmGmMmDh06tKg3oSipdHd3s2zZsoovCOIHvYqAMeYWY8wIY0wzcDXwlDFmDvA0MNMeNhdYZZ+vttvY/U+Z+J04ihI81VQQxA+KWXzkfwM3ishWHJ//Htt+D9Bo228Ebi6ui4qSO96CIOoC5EZek4WMMc8Az9jn24EL0xzzMTDLh74pSl7oTMDC0GXIlIpA04CFoyKgRB5NAxaH3jugRBp1AYpHLQElsrgugKYBi0NFQIkk7kQgTQMWj7oDSuRwBaBa1gUIGhUBJVKoC+A/6g4okUELggSDioASCTQNGBzqDiihR9OAwaKWgBJqdCZg8KgIKKHFmwZUFyA41B1QQol3XQC1AIJFLQEldGhBkNKiIqCECi0IUnrUHVBCg7cgiApA6VARUEKBpgHLh7oDStnRNGB5URFQyorOBCw/6g4oZUNdgHCgloBSFvRuwPCgIqCUHC0IEi7UHVBKihYECR8qAkrJ0BhAOFF3QCkJmgYMLyoCSuBoGjDcqDugBIq6AOFHLQElMNQFiAYqAkogqAsQHdQdUHzHWxBE04DhR0VA8RU3BqACEB3UHVB8wxsDUAGIDioCii9oDCC6qDugFI2mAaONWgJKUWgaMPqoCCgFoy5AZaDugFIQbhpQXYDoo5aAUhCrVq3SgiAVghhjyt0HROQw8Hq5+5EHJwHvl7sTORKlvkK0+hulvgKcbowZmtoYFnfgdWPMxHJ3IldEZG1U+hulvkK0+hulvmZD3QFFqXJUBBSlygmLCCwsdwfyJEr9jVJfIVr9jVJfMxKKwKCiKOUjLJaAoihlouwiICKXicjrIrJVRG4OQX/uFZF2EdnoaRsiIo+LyJv2scG2i4gssH3fICLnl6G/I0XkaRHZLCKbRORbYe2ziPQXkRdEZL3t6622/QwRed726UER6Wvb+9ntrXZ/c6n66ulzjYi8IiJrwt7XQimrCIhIDfAL4PPAWOAaERlbzj4BS4DLUtpuBp40xowBnrTb4PR7jP2bD9xVoj56OQ7cZIwZC0wG/t5+hmHs81FgqjFmPDABuExEJgM/BW4zxrQA+4Hr7PHXAftt+232uFLzLWCLZzvMfS0MY0zZ/oCLgD96tm8Bbilnn2w/moGNnu3XgSb7vAlnXgPA3cA16Y4rY99XAdPD3mdgAPAyMAlnwk2f1O8E8EfgIvu8jz1OStjHETgCOhVYA0hY+1rMX7ndgeHADs/2TtsWNoYZY3bb523AMPs8VP23Juh5wPOEtM/WvF4HtAOPA9uAA8aY42n6E++r3X8QaCxVX4H/AL4HdNvtRsLb14IptwhEDuNIfehSKiJyIvAQ8G1jTFJZnzD12RjTZYyZgPMreyFwVnl7lB4RuRxoN8a8VO6+BE25RWAXMNKzPcK2hY09ItIEYB/bbXso+i8itTgC8BtjzErbHOo+G2MOAE/jmNT1IuJOYff2J95Xu78O+KBEXZwCXCEibwMP4LgEt4e0r0VRbhF4ERhjI659gauB1WXuUzpWA3Pt87k4frfb/jUbcZ8MHPSY4CVBRAS4B9hijPl3z67Q9VlEhopIvX1+Ak7sYguOGMzM0Ff3PcwEnrJWTeAYY24xxowwxjTjfC+fMsbMCWNfi6bcQQngC8AbOL7hD0LQn98Cu4FOHJ/vOhzf7kngTeAJYIg9VnCyG9uAV4GJZejvJTim/gZgnf37Qhj7DIwDXrF93Qj8s20fBbwAbAWWA/1se3+7vdXuH1Wm78SlwJoo9LWQP50xqChVTrndAUVRyoyKgKJUOSoCilLlqAgoSpWjIqAoVY6KgKJUOSoCilLlqAgoSpXz/wEfjNisfepXbgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "transform = tfa.image.transform(img, [1.0, 1.0, -250, 0.0, 1.0, 0.0, 0.0, 0.0])\n", "_ = plt.imshow(transform)" ] }, { "cell_type": "markdown", "metadata": { "id": "O79BrK-bC8oh" }, "source": [ "## YIQ でランダムに HSV 変換する\n", "\n", "この操作は、特定の RGB 画像のカラースケールを YIQ に変更しますが、ここではデルタ色相と彩度の値を指定された範囲からランダムに選択します。" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2021-02-13T03:00:57.994456Z", "iopub.status.busy": "2021-02-13T03:00:57.993387Z", "iopub.status.idle": "2021-02-13T03:00:58.272088Z", "shell.execute_reply": "2021-02-13T03:00:58.271597Z" }, "id": "zZBI-9XvBSuh" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "delta = 0.5\n", "lower_saturation = 0.1\n", "upper_saturation = 0.9\n", "lower_value = 0.2\n", "upper_value = 0.8\n", "rand_hsvinyiq = tfa.image.random_hsv_in_yiq(img, delta, lower_saturation, upper_saturation, lower_value, upper_value)\n", "_ = plt.imshow(rand_hsvinyiq)" ] }, { "cell_type": "markdown", "metadata": { "id": "ruyvVnmCDBgj" }, "source": [ "## YIQ で HSV を調整する\n", "\n", "この操作は、特定の RGB 画像のカラースケールを YIQ に変更しますが、ここではランダムに選択するのではなく、デルタ色相と彩度の値はユーザーの入力値です。" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2021-02-13T03:00:58.278164Z", "iopub.status.busy": "2021-02-13T03:00:58.277088Z", "iopub.status.idle": "2021-02-13T03:00:58.416655Z", "shell.execute_reply": "2021-02-13T03:00:58.417204Z" }, "id": "vbCdwGtYChnQ" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "delta = 0.5\n", "saturation = 0.3\n", "value = 0.6\n", "adj_hsvinyiq = tfa.image.adjust_hsv_in_yiq(img, delta, saturation, value)\n", "_ = plt.imshow(adj_hsvinyiq)" ] }, { "cell_type": "markdown", "metadata": { "id": "fdbCDYJkG8Gv" }, "source": [ "## 高密度画像ワープ\n", "\n", "この操作は、オフセットベクトルのフローフィールドで指定された任意の画像の非線形ワープを行います(例えば、ここではランダムな値を使用します)。 " ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2021-02-13T03:00:58.423997Z", "iopub.status.busy": "2021-02-13T03:00:58.423165Z", "iopub.status.idle": "2021-02-13T03:00:59.488577Z", "shell.execute_reply": "2021-02-13T03:00:59.488946Z" }, "id": "dG557eQDDtSK" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "input_img = tf.image.convert_image_dtype(tf.expand_dims(img, 0), tf.dtypes.float32)\n", "\n", "flow_shape = [1, input_img.shape[1], input_img.shape[2], 2]\n", "init_flows = np.float32(np.random.normal(size=flow_shape) * 2.0)\n", "dense_img_warp = tfa.image.dense_image_warp(input_img, init_flows)\n", "dense_img_warp = tf.squeeze(dense_img_warp, 0)\n", "_ = plt.imshow(dense_img_warp)" ] }, { "cell_type": "markdown", "metadata": { "id": "FcLMnSKYPcjA" }, "source": [ "## ユークリッド距離変換\n", "\n", "この操作は、前景ピクセルから背景ピクセルまでのピクセル値をユークリッド距離で更新します。\n", "\n", "- 注意: これは二値化画像のみを受け取り、結果は変換された画像になります。異なる画像を指定した場合は、結果は単一の値の画像になります。" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2021-02-13T03:00:59.493641Z", "iopub.status.busy": "2021-02-13T03:00:59.493082Z", "iopub.status.idle": "2021-02-13T03:00:59.983675Z", "shell.execute_reply": "2021-02-13T03:00:59.983172Z" }, "id": "-OMh6oeRQaYQ" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "gray = tf.image.convert_image_dtype(bw_img,tf.uint8)\n", "# The op expects a batch of images, so add a batch dimension\n", "gray = tf.expand_dims(gray, 0)\n", "eucid = tfa.image.euclidean_dist_transform(gray)\n", "eucid = tf.squeeze(eucid, (0, -1))\n", "_ = plt.imshow(eucid, cmap='gray')" ] } ], "metadata": { "accelerator": "GPU", "colab": { "collapsed_sections": [], "name": "image_ops.ipynb", "toc_visible": true }, "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.9" } }, "nbformat": 4, "nbformat_minor": 0 }