PS 滤镜算法原理 ——马赛克

% method : 利用邻域的任意一点代替当前邻域所有像素点

%%%% mosaic

clc;

clear all;

addpath(‘E:\PhotoShop Algortihm\Image Processing\PS 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,w,1);

Image_out(i-N:i+N,j-N:j+N,2)=Image(h,w,2);

Image_out(i-N:i+N,j-N:j+N,3)=Image(h,w,3);

end

end

imshow(Image_out/255);

原图

效果图

PS 滤镜算法原理 ——马赛克

时间: 2024-10-27 04:37:10

PS 滤镜算法原理 ——马赛克的相关文章

PS 滤镜算法原理——照亮边缘

这个算法原理很简单,对彩色图像的R,G,B 三个通道,分别求梯度,然后将梯度值作为三个通道的值. clc; clear all; Image=imread('4.jpg'); Image=double(Image); R=Image(:,:,1); G=Image(:,:,2); B=Image(:,:,3); R_Gradient=Find_Gradient(R); G_Gradient=Find_Gradient(G); B_Gradient=Find_Gradient(B); Image_

PS 滤镜算法原理——浮雕效果

clc; clear all; Image=imread('4.jpg'); Image=double(Image); R=Image(:,:,1); G=Image(:,:,2); B=Image(:,:,3); p=3;  %% 控制浮雕的强度 %% 控制浮雕的方向 H=[0 0 p 0 0 0 -p 0 0]; Image_new=imfilter(Image,H,'conv')+128; figure, imshow(Image_new/255); 原图 效果图 PS 滤镜算法原理--浮

PS 滤镜算法原理——曝光过度

这个算法的原理,就是将图像反相,然后分别比较原图与反相后的图三个通道的大小,将小的值输出. clc; clear all; Image=imread('4.jpg'); Image=double(Image); Image_inverse=255-Image; [row,col,layer]=size(Image); Image_new=Image; for i=1:row for j=1:col Image_new(i,j,1)=min(Image(i,j,1),Image_inverse(i

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+Off

PS 滤镜算法原理——拼贴

%%%% Tile %%%%% 实现拼贴效果 %%%%% 将原图像进行分块,然后让图像块在 %%%%% 新图像范围内进行随机移动,确定移动后的边界 %%%%% 将移动后的图像块填入新图像内 clc; clear all; close all; Image=imread('4.jpg'); Image1=double(Image); Image2=Image1; Image2(:,:,1)=0; Image2(:,:,2)=0; Image2(:,:,3)=0; %%%% 块数 (1-99) N=

OpenCV——PS滤镜算法之Spherize 球面化(凸出效果)

// define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include <string> #include "cv.h" #include "highgui.h" #include "cxmat.hpp" #include "cxcore.hpp&quo

OpenCV——PS滤镜算法之 球面化 (凹陷效果)

// define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include <string> #include "cv.h" #include "highgui.h" #include "cxmat.hpp" #include "cxcore.hpp&quo

OpenCV——PS 滤镜, 浮雕效果

具体的算法原理可以参考: PS 滤镜, 浮雕效果 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include <string> #include "cv.h" #include "highgui.h" #include "cxmat.hpp" #inc

OpenCV——PS 滤镜, 曝光过度

算法原理可以参考: PS 滤镜,曝光过度 #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include <string> #include "cv.h" #include "highgui.h" #include "cxmat.hpp" #include "cxcore.hpp"