zoukankan      html  css  js  c++  java
  • 数字图像处理实验(8):PROJECT 04-04,Highpass Filtering Using a Lowpass Image 标签: 图像处理MATLAB 2017-05-25 0

    实验要求:
    这里写图片描述

    高通滤波器可以通过1减去低通滤波器的传递函数得到。
    使用公式这里写图片描述 计算可以的得到这里写图片描述

    实验代码:

    % PROJECT 04-04 Highpass Filtering Using a Lowpass Image
    close all;
    clc;
    clear all;
    
    %
    img = imread('Fig4.11(a).jpg');
    img = mat2gray(img);
    figure;
    subplot(2,2,1);
    imshow(img);
    title('原图像');
    
    % 产生滤波函数
    [M, N] = size(img);
    P = 2 * M;
    Q = 2 * N;
    
    alf = 50;
    H = zeros(P, Q);
    for i = 1:P
        for j = 1:Q
            H(i, j) = exp(-((i-P/2)^2 + (j-Q/2)^2) / (2 * alf^2));
        end
    end
    
    % H = ones(P, Q);
    subplot(2,2,2);
    imshow(H);
    title('滤波函数');
    
    %
    % 图像填充
    [M, N] = size(img);
    P = 2 * M;
    Q = 2 * N;
    
    img_fp = zeros(P, Q);
    img_fp(1:M, 1:N) = img(1:M, 1:N);
    
    % [X, Y] = meshgrid(1:P, 1:Q);
    % ones = (-1)^(X+Y);
    
    % img_f = ones .* img_fp;
    img_f = zeros(P, Q);
    for x = 1:P
        for y = 1:Q
            img_f(x, y) = img_fp(x, y) .* (-1)^(x+y);
        end
    end
    
    img_F = fft2(img_f);
    
    img_G = img_F .* H;
    img_g = real(ifft2(img_G));
    
    % img_g = ones .* img_g;
    
    for x = 1:P
        for y = 1:Q
            img_g(x, y) = img_g(x, y) .* (-1)^(x+y);
        end
    end
    
    img_o = img_g(1:M, 1:N);
    
    subplot(2,2,3);
    imshow(img_o, []);
    title('高斯低通滤波后的图像');
    
    %
    img_gmask = img_o - img;
    subplot(2,2,4);
    imshow(img_gmask, []);
    title('高斯高通滤波后的图像');

    前面的代码与此前的实验相同,下面是最后的高通滤波处理。img_o 是前面得到的高斯低通滤波处理后的图像,使用原图像减去它,得到的就是高斯高通滤波后的图像了。

    img_gmask = img_o - img;
    subplot(2,2,4);
    imshow(img_gmask, []);
    title('高斯高通滤波后的图像');

    实验结果:
    这里写图片描述

  • 相关阅读:
    bzoj千题计划202:bzoj3191: [JLOI2013]卡牌游戏
    bzoj千题计划201:bzoj1820: [JSOI2010]Express Service 快递服务
    bzoj千题计划200:bzoj3106: [cqoi2013]棋盘游戏
    bzoj千题计划199:bzoj1055: [HAOI2008]玩具取名
    NOIP2017 小凯的疑惑
    Codeforces 837E. Vasya's Function
    bzoj1084: [SCOI2005]最大子矩阵
    bzoj4247: 挂饰
    Codeforces Round #276 (Div. 1) A. Bits
    bzoj千题计划196:bzoj4826: [Hnoi2017]影魔
  • 原文地址:https://www.cnblogs.com/xuhongbin/p/7134162.html
Copyright © 2011-2022 走看看