The Pixel Jitter Filter

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

%% Matlab Script
len = size(orig,1);
lead = size(orig,2);
value1 = int32(zeros(1,lead));
value2 = int32(zeros(1,lead));
value3 = int32(zeros(1,lead));
value4 = int32(zeros(1,lead));
value5 = int32(zeros(1,lead));
value6 = int32(zeros(1,lead));
average = int32(zeros(1,lead));
temp = int32(zeros(len,lead));
data = int32(zeros(lead,2));
filt = int32(orig);
for j = 1:2:len
    for i = 1:lead
        data(i,1) = int32(orig(j,i));
        data(i,2) = int32(orig(j+1,i));
    end
    for i = 1:lead
        temp(j,i) = Median([value1(i) value2(i) data(i,1) data(i,2)]);
        temp2 = max([value3(i) value4(i) data(i,1) data(i,2)]) - min([value3(i) value4(i) data(i,1) data(i,2)]);
        if abs(data(i,1) - value1(i))     <= 2 ...
            && abs(data(i,1) - data(i,2)) <= 2 ... 
            && abs(data(i,2) - value1(i)) <= 2 ...
            && abs(data(1,2) - value2(i)) <= 2 ...
            && abs(value1(i) - value2(i)) <= 2 ...
            && abs(value2(i) - data(i,1)) <= 2
            if abs(average(i) - temp(j,i)) <= 1 && temp(j,i) < 0 && temp(j,i) >= -5 && abs(temp2) < 2
                data(i,1) = int32(value2(i));
                data(i,2) = int32(data(i,1));
            end
        end
        value1(i) = int32(value2(i));
        value2(i) = int32(data(i,1));
        value3(i) = value5(i);
        value4(i) = value6(i);
        value5(i) = int32(data(i,1));
        value6(i) = int32(data(i,2));
        average(i) = temp(j,i);
        temp(j+1,i) = temp(j,i);
    end
    for i = 1:lead
        filt(i,1) = int32(data(i,1));
        filt(i,2) = int32(data(i,2));
    end
end         
%% Matlab Script
function y = Median(x)
    temp = int32(x(1));
    temp2 = int32(x(1));
    sum = int32(0);
    for i=1:4
        if temp < x(i)
            temp = int32(x(i));
        end
        if temp2 >x(i)
            temp2 = int32(x(i));
        end
        sum = sum + int32(x(i));
    end
    sum = sum - (temp + temp2);
    y = bitsra(sum,1);
end
%%
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值