写真に写った余分なものを消去する
写真に写った余分なものを消去します。OpenCVの修復機能inpaintにより画像の特定個所を消去します。inpaintは修復部分の周辺画像から修復部分を補完します。
環境
準備
次の画像ファイル'beach.jpg'(600x400)をjupyter notebookファイルと同じディレクトリにコピーします。左隅にカラスが写っているのでこれを消去します。
画像ファイルと同じサイズのマスク用画像'mask.jpg'を同じ場所に保存します。マスク画像は黒地で消去したい部分(カラスのあたり)を白く塗ります。
コード
import numpy as np import cv2 img = cv2.imread('beach.jpg') mask = cv2.imread('mask.jpg', 0) dst = cv2.inpaint(img, mask, 3, cv2.INPAINT_TELEA) cv2.imwrite('dst.jpg', dst)
実行結果
カラスが消去されました。
以下のサイトを参考にさせていただきました
OpenCV-Python Tutorials 1 documentation >> 画像のInpainting