7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ColaboratoryでOpenCV

Last updated at Posted at 2019-10-25

概要

ColaboratoryでOpenCVをやってみます。
画像を選択アップロード、Colaboratoryで画像を表示まで

Colaboratory とは

Colaboratory は、完全にクラウドで実行される Jupyter ノートブック環境です。設定不要で、無料でご利用になれます。Colaboratory を使用すると、コードの記述と実行、解析の保存や共有、強力なコンピューティング リソースへのアクセスなどをブラウザからすべて無料で行えます。

Webブラウザから使うことができるGoogleが提供している機械学習用のプラットフォームです.利用料は無料です.どういうスペックのマシンが使えるというと

n1-highmem-2 instance
Ubuntu 18.04
2vCPU @ 2.2GHz
13GB RAM
(GPUなし/ TPU)40GB, (GPUあり)360GB Storage
GPU NVIDIA Tesla T4 16GB または Tesla K80 12GB

これが無料で使える
すごい!!!

実装

%matplotlib inline
import cv2 # OpenCVのインポート
import matplotlib.pyplot as plt # matplotlib(描画用)
from google.colab import files
# ファイルアップロード
uploaded = files.upload()

# アップロードしたファイル名取得
file_name = list(uploaded.keys())[0]
# アップロードしたファイルを参照
img = cv2.imread("./" + file_name)
# cvtColorでBGRとRGBを変換
show_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 結果表示
plt.imshow(show_img)

結果

スクリーンショット 2019-10-31 0.07.33.png

顔検出もやってみる

参考記事

OpenCVで顔認識をしてみた

事前準備

https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_frontalface_alt.xml
上記URLのファイルをダウンロードして
スクリーンショット 2019-10-31 0.32.11.png
メニューを開いてファイルをアップロード
スクリーンショット 2019-10-31 0.31.02.png

%matplotlib inline
import cv2 # OpenCVのインポート
import matplotlib.pyplot as plt # matplotlib(描画用)
from google.colab import files

# ファイルアップロード
uploaded = files.upload()

cascade_file = "haarcascade_frontalface_alt.xml"

# アップロードしたファイル名取得
file_name = list(uploaded.keys())[0]
# アップロードしたファイルを参照
img = cv2.imread("./" + file_name)
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
cascade = cv2.CascadeClassifier(cascade_file)
face_list = cascade.detectMultiScale(img_gray, minSize=(150, 150))
if len(face_list) == 0:
  print("Fail recognise")
  quit()

for (x, y, w, h) in face_list:
  print("顔の座標 =", x, y, w, h)
  color = (0, 0, 225)
  pen_w = 8
  cv2.rectangle(img, (x, y), (x+w, y+h), color, thickness = pen_w)


cv2.imwrite("after.jpeg", img)
result_image = cv2.imread("./" + "after.jpeg")
result_image = cv2.cvtColor(result_image, cv2.COLOR_BGR2RGB)
# 結果表示
plt.imshow(result_image)
スクリーンショット 2019-10-31 0.28.53.png
7
4
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
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?