開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Python 3.7 (プログラミング言語)
- パッケージ
エレガントなSciPy (Juan Nunez-Iglesias (著)、Stéfan van der Walt(著)、Harriet Dashnow(著)、山崎 邦子(翻訳)、山崎 康宏(翻訳)、オライリージャパン)の3章(ndimageを使った画像領域のネットワーク)、3.1(画像は単なるNumPy配列)、3.1.1(演習: グリッドオーバーレイを追加する)の解答を求めてみる。
コード
Python 3
#!/usr/bin/env python3
import numpy as np
import matplotlib.pyplot as plt
import skimage
def overlay_grid(image: np.ndarray, spacing: int = 128) -> np.ndarray:
image_gridded = image.copy()
image_gridded[spacing:-1:spacing, :] = [0, 0, 255]
image_gridded[:, spacing:-1:spacing] = [0, 0, 255]
return image_gridded
if __name__ == '__main__':
url_astronaut = ('https://raw.githubusercontent.com/scikit-image/'
'scikit-image/master/skimage/data/astronaut.png')
astro = skimage.io.imread(url_astronaut)
plt.imsave('sample1_0.png', overlay_grid(astro))
for i, spacing in enumerate([64, 256], 1):
image_gridded = overlay_grid(astro, spacing)
print(image_gridded)
plt.imsave(f'sample1_{i}.png', image_gridded)
入出力結果(Terminal、cmd(コマンドプロンプト)、Jupyter(IPython))
$ python3 sample1.py [[[154 147 151] [109 103 124] [ 63 58 102] ... [127 120 115] [120 117 106] [125 119 110]] [[177 171 171] [144 141 143] [113 114 124] ... [127 118 112] [124 115 108] [121 116 105]] [[201 194 193] [182 178 175] [168 165 164] ... [128 120 117] [126 116 112] [124 114 109]] ... [[186 170 176] [186 170 177] [183 168 170] ... [ 0 0 0] [ 0 0 1] [ 0 0 0]] [[183 169 170] [182 167 171] [185 164 176] ... [ 0 0 1] [ 1 1 1] [ 0 0 0]] [[184 167 172] [183 165 169] [180 162 171] ... [ 0 0 0] [ 1 1 1] [ 0 0 0]]] [[[154 147 151] [109 103 124] [ 63 58 102] ... [127 120 115] [120 117 106] [125 119 110]] [[177 171 171] [144 141 143] [113 114 124] ... [127 118 112] [124 115 108] [121 116 105]] [[201 194 193] [182 178 175] [168 165 164] ... [128 120 117] [126 116 112] [124 114 109]] ... [[186 170 176] [186 170 177] [183 168 170] ... [ 0 0 0] [ 0 0 1] [ 0 0 0]] [[183 169 170] [182 167 171] [185 164 176] ... [ 0 0 1] [ 1 1 1] [ 0 0 0]] [[184 167 172] [183 165 169] [180 162 171] ... [ 0 0 0] [ 1 1 1] [ 0 0 0]]] $



0 コメント:
コメントを投稿