swirl (渦巻き画像)

五島列島で撮った写真を用いながら、画像処理の勉強をしている。

渦巻き画像

f:id:unachan_kz:20200603003527p:plain

三井楽港

よくわからない状態に変化する。 f:id:unachan_kz:20200603003906p:plain

 堂崎教会

f:id:unachan_kz:20200603004403p:plain

 つばき

f:id:unachan_kz:20200603004427p:plain

使用したAPI

スワール(渦巻き化)

transform.swirl

コード

 参考論文のまま使用しました。このため、参考文献をご確認願います。

Ex. 4: Implement the swirl transformation using warp

メモ

def swirl(xy, x0, y0, R):
    r = np.sqrt((xy[:,1]-x0)**2 + (xy[:,0]-y0)**2)
    a = np.pi*r / R
    xy[:, 1] = (xy[:, 1]-x0)*np.cos(a) + (xy[:, 0]-y0)*np.sin(a) + x0
    xy[:, 0] = -(xy[:, 1]-x0)*np.sin(a) + (xy[:, 0]-y0)*np.cos(a) + y0
    return xy

----
im1 = warp(im, swirl, map_args={'x0':100, 'y0':100, 'R':250})
---

map_argsのx0, y0が回転の中心点、Rは回転する各周波数を求める際になります。

参考文献

今回使用したコードは下記の本を読んでみて作りました。

五島について

www.city.goto.nagasaki.jp