さて久々の画像加工の回です
opencvを用いると簡単に画像の加工ができます。
解説動画はこちら
はいそれではまず最初に
opencvを使うにはライブラリを読み込みましょう。
インストールしていない方は
pip などでインストールしてみてください。
まず最初に画像を加工する関数を作ります。
アニメ画像みたいな加工をする関数を作ります。
やっていることはエッジの抽出とぼかしです
次にモザイク処理する関数を作ります。
モザイクはopencvのresize機能で実現できます。
この関数で画像の一部分にだけ
モザイク処理をすることができます。
はい
それでは実際に画像に処理してみましょう。
画像は4枚使用しますが
画像はご自身で用意して下さいね。
実行した結果は
・・・・・
はいこのようになりました。
アニメっぽくして
モザイクをかけて
文字を追加しております!!!!
S
M
A
P
で始まる方々を
画像加工してみました。
はい
ということで
opencvを用いると
簡単に画像加工をすることができるので
皆さんも試してみて下さいね
今回はここまでです
それでは
opencvを用いると簡単に画像の加工ができます。
解説動画はこちら
はいそれではまず最初に
opencvを使うにはライブラリを読み込みましょう。
インストールしていない方は
pip などでインストールしてみてください。
まず最初に画像を加工する関数を作ります。
アニメ画像みたいな加工をする関数を作ります。
def anime_filter(img, K= 20): gray = cv2.cvtColor(img, cv2.COLOR_BGRA2GRAY) edge = cv2.blur(gray, (13, 13)) edge = cv2.Canny(edge, 10, 40, apertureSize=3) edge = cv2.cvtColor(edge, cv2.COLOR_GRAY2BGR) img = np.array(img/K, dtype=np.uint8) img = np.array(img*K, dtype=np.uint8) return cv2.subtract(img, edge)これで画像をアニメ風にします。
やっていることはエッジの抽出とぼかしです
次にモザイク処理する関数を作ります。
def mosaic(src,ratio=0.07): img = src.copy() x, y, w, h = 0, src.shape[0]//3,src.shape[1],src.shape[0]//3 tmp = img[y:y + h, x:x + w] small = cv2.resize(tmp, None, fx=ratio, fy=ratio, interpolation=cv2.INTER_NEAREST) img[y:y + h, x:x + w] = cv2.resize(small, tmp.shape[:2][::-1], interpolation=cv2.INTER_NEAREST) return img
モザイクはopencvのresize機能で実現できます。
この関数で画像の一部分にだけ
モザイク処理をすることができます。
はい
それでは実際に画像に処理してみましょう。
画像は4枚使用しますが
画像はご自身で用意して下さいね。
img1_path = 'smap/sawaziri.png' img2_path = 'smap/makky.png' img3_path = 'smap/ASKA.png' img4_path = 'smap/pierre.png' paths = [img1_path,img2_path,img3_path,img4_path] fig = plt.figure(figsize=(20,16)) for i,(path,A) in enumerate(zip(paths,['S','M','A','P'])): ax = fig.add_subplot(1, 4, i+1) img = cv2.imread(path) anime = anime_filter(img) mos = mosaic(anime) cv2.putText(mos, A, (mos.shape[1]//2, mos.shape[0]//4), cv2.FONT_HERSHEY_PLAIN, 4, (255, 255, 255), 5, cv2.LINE_AA) ax.imshow(cv2.cvtColor(mos, cv2.COLOR_BGR2RGB)) ax.set_xticks([]) ax.set_yticks([]) plt.show()
実行した結果は
・・・・・
はいこのようになりました。
アニメっぽくして
モザイクをかけて
文字を追加しております!!!!
S
M
A
P
で始まる方々を
画像加工してみました。
はい
ということで
opencvを用いると
簡単に画像加工をすることができるので
皆さんも試してみて下さいね
今回はここまでです
それでは