opencv チュートリアルチャンレンジ 82 画像のInpainting

画像のInpainting — OpenCV-Python Tutorials 1 documentation

#!/usr/bin/env python
# -*- coding: utf-8 -*
import sys
import cv2
import numpy as np

img = cv2.imread('170519-144402.cut.jpg')
mask = cv2.imread('170519-144402.mask.jpg',0)

# INPAINT_TELEA
dst = cv2.inpaint(img, mask, 3, cv2.INPAINT_TELEA)
cv2.imshow('inpaint.INPAINT_TELEA',dst)
cv2.imwrite('inpaint.INPAINT_TELEA.png',dst)

# INPAINT_NS
dst = cv2.inpaint(img, mask, 3, cv2.INPAINT_NS)
cv2.imshow('inpaint.INPAINT_NS',dst)
cv2.imwrite('inpaint.INPAINT_NS.png',dst)

cv2.waitKey(0)
cv2.destroyAllWindows()

やってみる

f:id:pongsuke:20170524144814j:plain

マスク f:id:pongsuke:20170524144824j:plain

処理結果 INPAINT_TELEA f:id:pongsuke:20170524144855p:plain

処理結果 INPAINT_NS f:id:pongsuke:20170524145141p:plain

流石に大きすぎたかな?

f:id:pongsuke:20170524145533j:plain

f:id:pongsuke:20170524145536j:plain

f:id:pongsuke:20170524145604p:plain

f:id:pongsuke:20170524145608p:plain