python 實現(xiàn)波浪濾鏡特效
本文用 Python 實現(xiàn) PS 濾鏡的波浪特效
import numpy as npfrom skimage import img_as_floatimport matplotlib.pyplot as pltfrom skimage import ioimport numpy.matlibimport math# 圖片位置file_name2=’D:/Visual Effects/PS Algorithm/4.jpg’img=io.imread(file_name2)img = img_as_float(img)row, col, channel = img.shapeimg_out = img * 1.0alpha = 70.0beta = 30.0degree = 20.0center_x = (col-1)/2.0center_y = (row-1)/2.0xx = np.arange(col)yy = np.arange(row)x_mask = numpy.matlib.repmat (xx, row, 1)y_mask = numpy.matlib.repmat (yy, col, 1)y_mask = np.transpose(y_mask)xx_dif = x_mask - center_xyy_dif = center_y - y_maskx = degree * np.sin(2 * math.pi * yy_dif / alpha) + xx_dify = degree * np.cos(2 * math.pi * xx_dif / beta) + yy_difx_new = x + center_xy_new = center_y - y int_x = np.floor (x_new)int_x = int_x.astype(int)int_y = np.floor (y_new)int_y = int_y.astype(int)for ii in range(row): for jj in range (col): new_xx = int_x [ii, jj] new_yy = int_y [ii, jj] if x_new [ii, jj] < 0 or x_new [ii, jj] > col -1 : continue if y_new [ii, jj] < 0 or y_new [ii, jj] > row -1 : continue img_out[ii, jj, :] = img[new_yy, new_xx, :]plt.figure (1)plt.imshow (img)plt.axis(’off’)plt.figure (2)plt.imshow (img_out)plt.axis(’off’)plt.show()
實現(xiàn)效果
以上就是python 實現(xiàn)波浪濾鏡特效的詳細內(nèi)容,更多關于python 波浪濾鏡的資料請關注好吧啦網(wǎng)其它相關文章!
相關文章:
1. 怎樣才能用js生成xmldom對象,并且在firefox中也實現(xiàn)xml數(shù)據(jù)島?2. XHTML 1.0:標記新的開端3. CSS3中Transition屬性詳解以及示例分享4. 低版本IE正常運行HTML5+CSS3網(wǎng)站的3種解決方案5. ASP腳本組件實現(xiàn)服務器重啟6. css進階學習 選擇符7. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera8. ASP刪除img標簽的style屬性只保留src的正則函數(shù)9. 告別AJAX實現(xiàn)無刷新提交表單10. ASP動態(tài)網(wǎng)頁制作技術經(jīng)驗分享
