質問: openCV等を使ってpythonプログラミングで画像を劣化させる方法を教えてください。 ディープラーニングで超解像プログラムを作るために劣化画像を用意したいのですが、 劣化行列等のキーワードは拾えたものの実装方法がよくわかりません openCV超解像(SuperResolution)の逆みたいに劣化させる事はできないのでしょうか 前処理アプリとして作りこむ予定ですので、別途単体アプリサービスは対象外です。 英語でディープラーニングで超解像のチュートリアルやっているのが あれば教えてもらうと嬉しいです。
回答: 「超解像」の詳細は分かりませんが、目的から考えるとモザイク処理した画像を元画像とするのが自然だと思います。 ``` import cv2 # opencv import matplotlib.pyplot as plt img_org = cv2.imread('lena.jpg') (h,w) = img_org.shape[0], img_org.shape[1] # モザイク処理 : 縮小して元のサイズに戻す #img_r = cv2.resize(img_org,(w/8, h/8)) img_r = cv2.resize(img_org,(int(w/8), int(h/8))) # for python 3.x img_m = cv2.resize(img_r,(w, h)) img_show = cv2.cvtColor(img_m, cv2.COLOR_BGR2RGB) # opencv(B,G,R) -> matplotlib(R,G,B) plt.imshow(img_show, interpolation='nearest') ```