貧乏性女のキレイライン矯正体験記

キレイライン矯正で歯科矯正を行っています。このブログの目的は、私のモチベーション維持とキレイラインに関する情報共有です。

PythonのOpenCVで歯列の変化の検知を試みたが…

矯正の成果を可視化するため、たまに歯列の写真を撮っています。
1クール目の3週間分くらい溜まったので、 少しでも変化があるか、
趣味で弄っているPythonOpenCVで検知できないか試してみました。
結論として、上手くいかなかったので再チャレンジします!涙
また、お見苦しい歯列の写真が出てきます…ので写真を含む内容は「続きを読む」から。

環境

  • windows10
  • python3.6

やったこと

  • 画像ファイルの読み込み
    今回は、試しに1クール目1日目、2日目、21日目
  • 画像データをグレースケールに変換
  • 画像データの差を表示
    1日目-2日目、1日目-21日目

Pythonソース

import cv2
import os
import matplotlib.pyplot as plt
%matplotlib inline

# 画像を読み込む
# ※すべての画像は同じh×wである必要がある
image_01 = cv2.imread('./comparison/_20190915_103530.JPG')
image_02 = cv2.imread('./comparison/_20190916_125042.JPG')
image_final = cv2.imread('./comparison/_20191006_172343.JPG')

# 比較しやすいようにグレースケールに変換する
g_01 = cv2.cvtColor(image_01, cv2.COLOR_RGB2GRAY)
g_02 = cv2.cvtColor(image_02, cv2.COLOR_RGB2GRAY)
g_final = cv2.cvtColor(image_final, cv2.COLOR_RGB2GRAY)

# 確認のため表示する
# ※画像自体はグレースケールに変換されているが、表示の際に調整がかかるため、cmap='gray'でグレーを指定する
plt.imshow(g_01, cmap='gray')
plt.imshow(g_02, cmap='gray')
plt.imshow(g_final, cmap='gray')

# 画像の差を絶対値で取得
diff_01_02 = cv2.absdiff(image_01,image_02)
diff_01_final = cv2.absdiff(image_01,image_final)
# 保存
cv2.imwrite('./comparison/diff_01_02.jpg', diff_01_02)
cv2.imwrite('./comparison/diff_01_final.jpg', diff_01_final)

# 表示
# ※差が大きいほど白で表示される
plt.imshow(diff_01_02)
plt.imshow(diff_01_final)

画像

まずは、比較する元の画像たちです。
・1日目 f:id:hotaimo:20191006205713j:plain ・2日目 f:id:hotaimo:20191006205716j:plain ・21日目 f:id:hotaimo:20191006210355j:plain

私は、右の上の歯が引っ込んでいるのを特に気にしています。
パッと見はまだ全然変化がないですね。
これらをすべてグレースケール化し、比較します。

・1日目と2日目(diff_01_02) f:id:hotaimo:20191006205854j:plain めっちゃ怖いし、全然比較できていないなあ…。
画像の白い部分が、差が大きいところになりますが、
1日目と2日目の比較なので、期待値としてはまったく差がないことなのですが、
変なところが白くなっているなあ。

・1日目と21日目(diff_01_final) f:id:hotaimo:20191006205851j:plain 元の画像があまりよくないからか、
期待していない箇所が、差が大きいように見えてしまいますね。

通常であれば、
adsdiffで差分を取ったあと、結果を二値化して、差が大きい箇所を検知するみたいです。
今の時点ではこれ以上進めることが出来なさそうなので、
今後、元の写真を何らかの方法で比較しやすく加工したり、
もっと矯正が進んでから、改めて挑戦してみます。

ここまで読んで頂き、有難う御座いました!

ランキングに参加しています。
にほんブログ村 美容ブログ 歯列矯正へ にほんブログ村 美容ブログ 30代女磨きへ