msrcr图像增强算法 matlab,数字图像处理-图像增强: MSRCR Method For Image Processing

% MSRCR Method For Image Processing

% Test for Digital Image Processing

% By Gu Jinjin 2012/10/16-17

% Refer to Retinex processing for automatic image enhancemen

% And thank videoandimage08's help for sharing me some Info

% ------

clc;clear all;

% 读取图像灰度值

I = imread('test.jpg');

IR = I(:,:,1);

IG = I(:,:,2);

IB = I(:,:,3);

% 转换为 double 类型

IR_double = double(IR);

IG_double = double(IG);

IB_double = double(IB);

% Set Gaussian Parameters

sigma1 = 5;

sigma2 = 20;

sigma3 = 240;

% 矩阵化网格向量

[x,y] = meshgrid((-(size(IR,2)-1)/2):(size(IR,2)/2),(-(size(IR,1)-1)/2):(size(IR,1)/2));

% 计算高斯环境函数 Fk

gauss1 = exp(-(x.^2+y.^2)/(sigma1*sigma1));

% 归格化 Fk = k*Fk

Gauss1 = gauss1/s

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MsRCR(多尺度起伏残留去除)是一种图像增强算法,用于减少图像的噪声以及增强图像的细节。该算法的主要思想是将图像分解为多个尺度,并且在不同的尺度上应用不同的滤波器,以提高图像的质量。 在Matlab中实现MsRCR算法代码如下: 函数定义: function Imout = MsRCR(Im, sigma, n, alpha, beta) % Input: % Im: 输入图像 % sigma: 高斯滤波参数 % n: 每个尺度包含的带宽数目(默认值为3) % alpha: 中心带宽存储的系数 % beta: 剩余带宽存储的系数 % Output: % Imout: 处理后的输出图像 算法实现: % 将输入图像转换为double,并将像素值限制在0到1之间 I = double(Im)/255.0; [m,n] = size(I); % 每个尺度包含的带宽数目 if nargin < 3 n = 3; end % 中心带宽存储的系数 if nargin < 4 alpha = 0.5; end % 剩余带宽存储的系数 if nargin < 5 beta = 0.5; end % 定义滤波器参数 h = fspecial('gaussian', [3 3], sigma); % 对图像进行高斯滤波 I_filt = imfilter(I, h, 'replicate'); % 初始化存储空间 Imout = zeros(m,n); % 对每个尺度应用不同的滤波器 for i = 1:n sigma_i = 2^(i-1); % 对图像进行尺度变换 G = imresize(I_filt, 1/sigma_i, 'bilinear'); % 对图像进行高斯滤波 G_filt = imfilter(G, h, 'replicate'); % 提取中心带宽 G_center = imresize(G_filt, sigma_i, 'bilinear'); % 将中心带宽存储到Imout中 Imout = Imout + alpha * G_center; % 获取剩余带宽 R = G_filt - G_center; % 将剩余带宽存储到Imout中 Imout = Imout + beta * imresize(R, [m,n], 'bilinear'); end % 将像素值限制在0到1之间 Imout(Imout<0) = 0; Imout(Imout>1) = 1; % 将图像转换为uint8格式 Imout = uint8(Imout * 255.0); 此代码实现了MsRCR算法的基本框架。通过调整参数,可以对不同类型的图像进行增强。但是,需要注意的是,虽然MsRCR算法可以有效地增强图像,但对于一些图像,增强效果可能并不显著。因此,选择适当的算法和参数是非常重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值