Python實現PS濾鏡碎片特效功能示例

Python實現PS濾鏡碎片特效功能示例

本文例項講述了Python實現PS濾鏡碎片特效功能。分享給大家供大家參考,具體如下:

這裡用 Python 實現 PS 濾鏡中的碎片特效,這個特效簡單來說就是將影象在 上,下,左,右 四個方向做平移,然後將四個方向的平移的影象疊加起來做平均。具體的效果圖與說明可參考附錄說明


from skimage import img_as_float
import matplotlib.pyplot as plt
from skimage import io
file_name='D:/Visual Effects/PS Algorithm/4.jpg';
img=io.imread(file_name)
img = img_as_float(img)
img_1 = img.copy()
img_2 = img.copy()
img_3 = img.copy()
img_4 = img.copy()
img_out = img.copy()
Offset = 7
row, col, channel = img.shape
img_1[:, 0 : col-1-Offset, :] = img[:, Offset:col-1, :]
img_2[:, Offset:col-1, :] = img[:, 0 : col-1-Offset, :] 
img_3[0:row-1-Offset, :, :] = img[Offset:row-1, :, :]
img_4[Offset:row-1, :, :] = img[0:row-1-Offset, :, :]
img_out = (img_1   img_2   img_3   img_4) / 4.0
plt.figure(1)
plt.imshow(img)
plt.axis('off');
plt.figure(2)
plt.imshow(img_out)
plt.axis('off');

附:PS 濾鏡演算法原理——碎片效果


%%% Fragment
%%% 對原圖做四個方向的平移,然後對平移的結果取平均
%%% 碎片效果
clc;
clear all;
Image=imread('4.jpg');
Image=double(Image)/255;
[row,col,k]=size(Image);
Image1=Image;
Image2=Image;
Image3=Image;
Image4=Image;
Offset=5;
%%% 左移
Image1(:,1:col-Offset,:)=Image(:,1 Offset:col,:);
%%% 右移
Image2(:,1 Offset:col,:)=Image(:,1:col-Offset,:);
%%%% 上移
Image3(1 Offset:row,:,:)=Image(1:row-Offset,:,:);
%%% 下移
Image4(1:row-Offset,:,:)=Image(1 Offset:row,:,:);
Image=(Image1 Image2 Image3 Image4)/4;
figure, imshow(Image);

原圖:

效果圖:

更多關於Python相關內容感興趣的讀者可檢視本站專題:《Python圖片操作技巧總結》、《Python資料結構與演算法教程》、《Python Socket程式設計技巧總結》、《Python函式使用技巧總結》、《Python字串操作技巧彙總》、《Python入門與進階經典教程》及《Python檔案與目錄操作技巧彙總

希望本文所述對大家Python程式設計有所幫助。

您可能感興趣的文章:

Python實現PS濾鏡功能之波浪特效示例Python實現PS濾鏡中馬賽克效果示例Python實現PS濾鏡的旋轉模糊功能示例Python實現PS濾鏡的萬花筒效果示例Python實現PS濾鏡特效之扇形變換效果示例Python實現PS濾鏡Fish lens影象扭曲效果示例Python實現PS影象明亮度調整效果示例Python實現PS影象調整黑白效果示例Python實現PS影象調整顏色梯度效果示例Python實現PS影象抽象畫風效果的方法Python實現PS濾鏡特效Marble Filter玻璃條紋扭曲效果示例