以下のような画像がありますが、
背景の透かしを削除したいです。
これまでのところ、inpainting
のopencv
メソッドを試しました。それは私を助けませんでした。
私は次のスクリプトを試しました:
edges = cv2.Canny(img,50,150,apertureSize = 3)
dst = cv2.inpaint(img,edges,3,cv2.INPAINT_TELEA)
画像処理とopencv
は初めてです。だから、私は正しい方法でやっているのかどうかはわかりません。背景の透かしを削除するにはどのような方法が必要ですか。
緑の引用符で囲まれた透かしを画像から削除したいです。
どんな助けもよりわかりやすいでしょう。
ここのテキストは、透かしとは異なる強度を持っています。単純な明るさ/コントラストの変換、つまり、透かしが消えるまでゲイン/コントラストを上げ、明るさを減らして補正することで、いろいろ試してみることができます。
簡単なチュートリアルについては、 OpenCV docs をご覧ください。
Pythonでの簡単な試みです。実際にOpenCV
を使用しないのは、このような単純な線形変換にIMHOが必要ないためです。必要な結果が得られるまで、alpha
(コントラスト)およびbeta
(明るさ)パラメーターをいじりましょう
import cv2
import numpy as np
img = cv2.imread("veidz.jpg")
alpha = 2.0
beta = -160
new = alpha * img + beta
new = np.clip(new, 0, 255).astype(np.uint8)
cv2.imwrite("cleaned.png", new)