2
5

More than 3 years have passed since last update.

複数フォルダより複数枚の写真をグラフに描写する

Last updated at Posted at 2019-11-04

まぁ、タイトル通りなんですが…

写真AとBを比較しようと思ったら「あ、フォルダ分けしちゃった」に気づいた。
一つのフォルダから地道に写真見てフォルダ分けしたのに…
ってことがきっかけでやってみました。
ついでに画像加工した際に罠にかかったのでそれも一緒にいきます。

全然難しくなかったw

「コードの雰囲気的にココ増やせばよくね?」
的な感じで進めていったら出来てしまった。
相変わらず勉強しない男である。

dog_and_cat.py

# Jupyter Notebookセルを全結合してみました

import os
import glob
import matplotlib.pyplot as plt
from PIL import Image
from google.colab import drive

# GoogleDrive_Mount
drive.mount('/content/drive')

# データ格納フォルダを指定
input_dir="/content/drive/My Drive/Colab Notebooks/test/Photos"
dirs = glob.glob(input_dir + '/*.jpg')
input_dir2="/content/drive/My Drive/Colab Notebooks/test/Photos2"
dirs2 = glob.glob(input_dir2 + '/*.jpg')

# 参照出来ているか確認
print(dirs)
print(dirs2)

# リストの長さを足して表示枚数を確認
hs = len(dirs)+len(dirs2)
print(hs)

# 表示設定
col=5
row=hs/col
cols=col*3
rows=row*4
dpis = 100

# イメージの表示サイズ、解像度
fig = plt.figure(figsize=(cols,rows),dpi=dpis)

# **番目に指定
pi=1

# イメージ表示
for img,img2 in zip(dirs,dirs2):
# 1段目
  plot_num = pi
  ax=fig.add_subplot(row, col, plot_num)
  ac=os.path.basename(img)
  ax.set_title(ac)
  img = Image.open(img)
  plt.imshow(img, cmap='gray')
# 2段目
  plot_num2 = pi+5
  bx=fig.add_subplot(row, col, plot_num2)
  bc=os.path.basename(img2)
  bx.set_title(bc)
  img2 = Image.open(img2)
  plt.imshow(img2, cmap='gray')
  pi = pi+1

出力結果

test110401.jpg

まぁ、かわいい。
でもサイズがバラバラですね。

サイズをそろえてみる

「img = Image.open(img)」と「img2 = Image.open(img2)」の下に
それぞれ入れてみる(とりあえず数字は200を入れときます)

img = img.resize((200, 200))  
img2 = img2.resize((200, 200)) 

test110402.jpg

みんな、無事揃いました。よかったね。

グレースケールもやってみよ。あれ?罠?

上のコードに以下をそれぞれ追記してグレー化を期待

img = img.convert("L")
img2 = img2.convert("L")

test110403.jpg

なんかイメージとちがう…
と思ったらさらにこれをやらなきゃいけないらしい。不覚。
(なんかこれだけでできるような書き方してたとこもあったんだけどなー)

plt.imshow(img, cmap='gray')
plt.imshow(img2, cmap='gray')

test110404.jpg

ディープラーニングへ向けて

今後は特徴量を出力させたりとか類似画像抽出とかしていかなきゃだな~
難しそうだけどあらためて学べることがあるってすっごい楽しいねぇ。

てか、画像にちょこちょこ「あ」が入っているのに気付いたダッサwwww
なおさないけどねw

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5