加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python实现PS滤镜中马赛克效果示例

发布时间:2020-12-17 07:32:14 所属栏目:Python 来源:网络整理
导读:本篇章节讲解Python实现PS滤镜中马赛克效果。供大家参考研究具体如下: 这里利用 Python 实现PS 滤镜中的马赛克效果,具体的算法原理和效果可以参考附录说明,Python示例代码如下: from skimage import img_as_floatimport matplotlib.pyplot as

本篇章节讲解Python实现PS滤镜中马赛克效果。分享给大家供大家参考,具体如下:

这里利用 Python 实现PS 滤镜中的马赛克效果,具体的算法原理和效果可以参考附录说明,Python示例代码如下:

from skimage import img_as_float
import matplotlib.pyplot as plt
from skimage import io
import random
import numpy as np
file_name='D:/Visual Effects/PS Algorithm/4.jpg';
img=io.imread(file_name)
img = img_as_float(img)
img_out = img.copy()
row,col,channel = img.shape
half_patch =10
for i in range(half_patch,row-1-half_patch,half_patch):
  for j in range (half_patch,col-1-half_patch,half_patch):
    k1 = random.random() - 0.5
    k2 = random.random() - 0.5
    m=np.floor(k1*(half_patch*2 + 1))
    n=np.floor(k2*(half_patch*2 + 1))
    h=int((i+m) % row)
    w=int((j+n) % col)
    img_out[i-half_patch:i+half_patch,j-half_patch:j+half_patch,:] =

            img[h,w,:]
plt.figure(1)
plt.imshow(img)
plt.axis('off')
plt.figure(2)
plt.imshow(img_out)
plt.axis('off')
plt.show()

附:PS 滤镜算法原理 ――马赛克

% method : 利用邻域的任意一点代替当前邻域所有像素点
%%%% mosaic
clc;
clear all;
addpath('E:PhotoShop AlgortihmImage ProcessingPS Algorithm');
Image=imread('4.jpg');
Image=double(Image);
size_info=size(Image);
height=size_info(1);
width=size_info(2);
N=11;  % 控制邻域大小
Image_out=Image;
for i=1+N:N:height-N
  for j=1+N:N:width-N
    k1=rand()-0.5;
    k2=rand()-0.5;
    m=(k1*(N*2-1));
    n=(k2*(N*2-1));
    h=floor(mod(i+m,height));
    w=floor(mod(j+n,width));
    if w==0;
      w=width;
    end
    if h==0
      h=height;
    end
   Image_out(i-N:i+N,j-N:j+N,1)=Image(h,1);
   Image_out(i-N:i+N,2)=Image(h,2);
   Image_out(i-N:i+N,3)=Image(h,3);
  end
end
imshow(Image_out/255);

原图

效果图

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

您可能感兴趣的文章:

  • Python实现PS图像抽象画风效果的方法
  • Python实现PS滤镜的万花筒效果示例
  • Python实现PS滤镜的旋转模糊功能示例
  • Python数字图像处理之霍夫线变换实现详解
  • Python读取MRI并显示为灰度图像实例代码
  • python使用pil进行图像处理(等比例压缩、裁剪)实例代码
  • Python tkinter实现的图片移动碰撞动画效果【附源码下载】
  • Python利用matplotlib生成图片背景及图例透明的效果
  • Python基于pygame实现图片代替鼠标移动效果
  • python实现基于两张图片生成圆角图标效果的方法
  • python通过pil将图片转换成黑白效果的方法
  • Python实现PS图像明亮度调整效果示例

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读