zoukankan      html  css  js  c++  java
  • matlab练习程序(图像马赛克)

    处理原理就是将邻域像素平均值赋给邻域中的所有像素。

    这里将处理方法分为了带线条和不带线条,带线条处理后的视觉效果要好些。

    原图:

    处理结果(不带线条):

    处理结果(带线条):

    代码处理的是带线条的情况。

    matlab代码如下:

    clear all; close all;clc;
    
    img=imread('lena.jpg');
    imshow(img,[]);
    
    [h w]=size(img);
    imgn=zeros(h,w);
    
    n=12;
    nw=floor(w/n)*n;
    nh=floor(h/n)*n;
    
    for y=1:n:nh
        for x=1:n:nw
            imgn(y:y+n-1,x:x+n-1)=mean(mean(img(y:y+n-1,x:x+n-1)));       
        end
    
        imgn(y:y+n-1,nw+1:w)=mean(mean(img(y:y+n-1,nw+1:w)));   %处理最后一列
        imgn(y,1:w)=128; 
    end
    
    for x=1:n:nw
        imgn(nh+1:h,x:x+n-1)=mean(mean(img(nh+1:h,x:x+n-1)));   %处理最后一行
        imgn(1:h,x)=128;    
    end
    
    imgn(nh+1:h,nw+1:w)=mean(mean(img(nh+1:h,nw+1:w)));     %处理最后一个角
    
    imgn(1:h,nw)=128;
    imgn(1:h,w)=128;
    
    imgn(nh,1:w)=128;
    imgn(h,1:w)=128;
    
    figure;imshow(imgn,[])

    如果存在恢复马赛克的算法一定能超神...

  • 相关阅读:
    bzoj2751
    bzoj1483
    bzoj1011
    bzoj1412
    bzoj1820
    bzoj1295
    bzoj3444
    Java--Exchanger用于进行线程间的数据交换
    Java--Semaphore控制并发线程数量
    Java--Spring AOP 源码散点记录(最后整理成一篇博客)
  • 原文地址:https://www.cnblogs.com/tiandsp/p/4008446.html
Copyright © 2011-2022 走看看