资源简介

一种快速灰度校正方法,方法来自论文:[1]高建贞,任明武,杨静宇.一种快速实用的灰度校正算法[J].中国图象图形学报,2002(06):30-34. MATLAB代码:经MATLAB R2019a实现。

资源截图

代码片段和文件信息

clc;clear;close all
im=imread(‘1.jpg‘);
im=rgb2gray(im);
figure
imshow(im)          %企鹅灰度图像

[mn]=size(im);     %原图的尺寸
blocksize=8;        %分块大小,此处块为正方形,方便后面差值运算
%分块处理
blocknum1 =floor(m/blocksize);    %分块数量(对应图像长度,即m),取整后,原图会剩下几个像素的长或宽未做处理
blocknum2 =floor(n/blocksize);    %分块数量(对应图像宽度,即n)
length =blocknum1*blocksize;   %处理的长度像素数
height =blocknum2*blocksize;   %处理的宽度像素数
A=zeros(blocknum1blocknum2) ;
ff = im(1:length1:height);     %生成一个用来原图副本(去除多余像素的)
%开始分块处理
for k = 1:blocknum2
    for h = 1:blocknum1
    
        %生成模板
        block = zeros(size(ff));    %将模板初始化为0
        lini = 1 + blocksize * (h - 1);
        hini = 1 + blocksize * (k - 1);     %分块的第一个像素在原图中的坐标
        x = lini:(lini + blocksize - 1);
        y = hini:(hini + blocksize - 1);    %生成分块长、宽坐标序列
        block(x y) = 1;                     %将模板上需要进行分块的部分转换成1,用来提取该分块
        
        %提取分块
        ff = im2double(ff);     %原图转换

评论

共有 条评论