資源簡介
一種快速灰度校正方法,方法來自論文:[1]高建貞,任明武,楊靜宇.一種快速實用的灰度校正算法[J].中國圖象圖形學(xué)報,2002(06):30-34.
MATLAB代碼:經(jīng)MATLAB R2019a實現(xiàn)。
代碼片段和文件信息
clc;clear;close?all
im=imread(‘1.jpg‘);
im=rgb2gray(im);
figure
imshow(im)??????????%企鵝灰度圖像
[mn]=size(im);?????%原圖的尺寸
blocksize=8;????????%分塊大小,此處塊為正方形,方便后面差值運算
%分塊處理
blocknum1?=floor(m/blocksize);????%分塊數(shù)量(對應(yīng)圖像長度,即m),取整后,原圖會剩下幾個像素的長或?qū)捨醋鎏幚?br/>blocknum2?=floor(n/blocksize);????%分塊數(shù)量(對應(yīng)圖像寬度,即n)
length?=blocknum1*blocksize;???%處理的長度像素數(shù)
height?=blocknum2*blocksize;???%處理的寬度像素數(shù)
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);?????%分塊的第一個像素在原圖中的坐標(biāo)
????????x?=?lini:(lini?+?blocksize?-?1);
????????y?=?hini:(hini?+?blocksize?-?1);????%生成分塊長、寬坐標(biāo)序列
????????block(x?y)?=?1;?????????????????????%將模板上需要進行分塊的部分轉(zhuǎn)換成1,用來提取該分塊
????????
????????%提取分塊
????????ff?=?im2double(ff);?????%原圖轉(zhuǎn)換
評論
共有 條評論