1. 将ace增强后的图像信息熵与图像标准差的乘积作为目标函数, ace的增益因子a作为待寻优的变量;
  2. 使用pso算法对ace的增益因子a进行寻优,并返回最优的增益因子;
  3. 将最优增益代入ace算法中,对图像进行增强;
  4. 采用引导滤波对增强后的图像进行降噪,提高可视化效果;
  5. % function: 图像增强,(1) PSO优化ACE增益因子 (2) 引导滤波降噪
     
    %% 初始化
    addpath(genpath(pwd));
     
    clear;
    clc;
    close all;
    warning('off')
     
    %% 定义全局变量
    global meanimg stdimg I img
     
    I = rgb2ycbcr(imread('test2.jpg'));% 将图片转换到ycbcr空间
    img = double(I(:,:,1));
     
    % 求局部均值
    filter = fspecial('average',3);
    meanimg = imfilter(img,filter);
    % figure;imshow(meanimg/255,[]);
     
    % 求局部标准差
    stdimg = stdfilt(img);
    % temp = stdfilt(img(:,:,1));
     
    %% PSO 寻优
    a_range=[0,1]; % 参数x变化范围(这里寻优的是ACE算法中的增益因子a)
    range = [a_range];
    Max_V = 0.2*(a_range(:,2)-a_range(:,1)); % 最大速度取变化范围的10%~20%
    n=1; % 待优化函数的维数
    psoparams = [10 200 10 2 2 0.8 0.2 1500 1e-25 200 NaN 0 0]; % 参数配置,详细查看pso工具箱使用文档
    Bestarray = pso_Trelea_vectorized('obj_func', n, Max_V, range, 1, psoparams); % 调用PSO寻优,返回最优参数以及最优函数值
     
    %% 输出增强后的图像(将获得增益因子代入ACE)
    D = mean(meanimg(:));
    c = Bestarray(1)*D./(stdimg);
    c(c>10) = 3;
    result = meanimg + c.*(img - meanimg);
    MIN = min(min(result));
    MAX = max(max(result));
    result = (result - MIN)/(MAX - MIN);
    result = adapthisteq(result);
    I(:,:,1) = result*255;
    result_img = ycbcr2rgb(I);
    figure;imshow(result_img);
    title('PSO\_ACE');
     
    %% 引导滤波降噪
    [r,c,b]=size(I);
    x = reshape(result_img,[r*c b]);
    x = compute_mapping(x,'PCA',1); % 对原图进行PCA降维
    guidance = reshape(x, r, c)/255; % 获得引导图像
    result_img = double(result_img)/255;
    r = 5; % 滤波半径
    eps = 0.005; % 滤波正则化参数
    for i = 1:3
        result_img_GD(:,:,i) =  guidedfilter(guidance, result_img(:,:,i), r, eps); % 引导滤波
    end
    figure;imshow(result_img_GD,[]);
    title('PSO\_ACE\_GD'); % 显示滤波后的图像
    • 1.
    • 2.
    • 3.
    • 4.
    • 5.
    • 6.
    • 7.
    • 8.
    • 9.
    • 10.
    • 11.
    • 12.
    • 13.
    • 14.
    • 15.
    • 16.
    • 17.
    • 18.
    • 19.
    • 20.
    • 21.
    • 22.
    • 23.
    • 24.
    • 25.
    • 26.
    • 27.
    • 28.
    • 29.
    • 30.
    • 31.
    • 32.
    • 33.
    • 34.
    • 35.
    • 36.
    • 37.
    • 38.
    • 39.
    • 40.
    • 41.
    • 42.
    • 43.
    • 44.
    • 45.
    • 46.
    • 47.
    • 48.
    • 49.
    • 50.
    • 51.
    • 52.
    • 53.
    • 54.
    • 55.
    • 56.
    • 57.
    • 58.
    • 59.
    • 60.
  6. 【图像增强】PSO寻优ACE的图像增强matlab源码_PSO

    【图像增强】PSO寻优ACE的图像增强matlab源码_PSO_02【图像增强】PSO寻优ACE的图像增强matlab源码_PSO_03