今回は久しぶりに
画像加工で遊んでみました。
解説動画はこちら
ソースコードはこちら
実行していただくと
こんな感じでメニューが出るようになっています。
このプログラムの直下にあるimgフォルダの中の
画像を参照するようにしているので
画像を用いる際はfiles変数の右の
ファイル名などを変更して下さい。
実行後は画像名をクリックすると
画像が切り替わります。
x,yは横、縦方向の画像の歪み度を変更します。
大きい数値の方が歪むようになります。
どんな感じになるかと言うと
かなり別人になるかなーと思いますが
若干元の人の特徴が残っているのが
面白いかなーと思います。
是非遊んでみて下さい。
今回はこれまでです
それでは。
画像加工で遊んでみました。
解説動画はこちら
ソースコードはこちら
import numpy as np import cv2 import math from ipywidgets import interact, IntSlider , Select import matplotlib.pyplot as plt %matplotlib inline x1 = IntSlider(value=1, min=1, max=20, step=1, description='x:',) y1 = IntSlider(value=1, min=1, max=20, step=1, description='y:',) files = ['kurochan.jpg','nadaru.png','inachan.jpg','ayase.jpg','gakky.jpg'] selected = Select(description='画像', options=files, rows=5,) def show_plot(col1, col2 , col3): img = cv2.imread('img/' + col3) (h, w, c) = img.shape flex_x = np.zeros((h,w),np.float32) flex_y = np.zeros((h,w),np.float32) for y in range(h): for x in range(w): flex_x[y,x] = x + math.sin(x/30) * col1 flex_y[y,x] = y + math.cos(y/30) * col2 dst = cv2.remap(img,flex_x,flex_y,cv2.INTER_LINEAR) dst = cv2.cvtColor(dst , cv2.COLOR_BGR2RGB) plt.figure(figsize=(10,10)) plt.tick_params(labelbottom=False,labelleft=False,labelright=False,labeltop=False) plt.imshow(dst) plt.show() interact(show_plot, col1=x1, col2=y1 , col3 = selected)
実行していただくと
こんな感じでメニューが出るようになっています。
このプログラムの直下にあるimgフォルダの中の
画像を参照するようにしているので
画像を用いる際はfiles変数の右の
ファイル名などを変更して下さい。
実行後は画像名をクリックすると
画像が切り替わります。
x,yは横、縦方向の画像の歪み度を変更します。
大きい数値の方が歪むようになります。
どんな感じになるかと言うと
かなり別人になるかなーと思いますが
若干元の人の特徴が残っているのが
面白いかなーと思います。
是非遊んでみて下さい。
今回はこれまでです
それでは。