大規模遙感影像勻光勻色的一些思考

       最近有一項工做須要用到大規模影像,鑲嵌成一版圖,後期須要用到勻光勻色,因爲須要集成到代碼庫中,因此只能本身實現了。重點參考了論文-《算法

崔浩, 張力, 艾海濱,等. 利用基準色調的大範圍衛星影像色彩一致性處理算法[J]. 測繪學報, 2017, v.46(12):62-73.》,感謝做者的建議,在此再次表示感謝。很少說了,優化

在具體實現的時候,我將全部uint16位影像,所有轉爲uint8位,採用線性拉伸的方式:ui

clear

tic

fprintf(' ... Read Imagery ... ...\n');
[Img, R] = geotiffread('LongQuanYi_2020_FirstSeason.tif');
info = geotiffinfo('LongQuanYi_2020_FirstSeason.tif');
% Img = uint16(Img*10000);

per = 0.01;                                                                % 線性拉伸比例
backValue = 0;                                                             % 背景像素值

% 這裏默認輸入圖像爲單通道
[ylen, xlen, channel] = size(Img);

for i = 1:channel
    
    img = Img(:,:,i);
    fprintf(' ... Img Xlen: %d pixels\n', xlen);
    fprintf(' ... Img Ylen: %d pixels\n\n\n', ylen);
    
    % 線性拉伸
    max_val = max(img(:));
    min_val = min(img(:));
    
    if min_val == backValue
        min_val = backValue + 1;                                           % 背景值不能當最小值
    end
    
    fprintf(' ... ... ... ... ... ... ... ... ... ...\n');
    fprintf(' ... Min Val is %d \n', min_val);
    fprintf(' ... Max Val is %d \n', max_val);
    fprintf(' ... ... ... ... ... ... ... ... ... ...\n\n');
    
    % 統計直方圖
    % 輸入圖像爲16位,取值範圍爲 0 到 65535
    bins = 1:65535;                                                        % 背景值不要參與統計
    histcount = histcounts(img(:)', bins);
    
    %清除臨時變量
    clear bins max_val min_val;
    
    % 直方圖裁剪,計算左值和右值
    [l_val, r_val] = calc_lr_val(histcount, xlen*ylen, per);
    
    % 根據左值和右值,將圖像由16位映射至8位
    img_8bit = img_map(img, l_val, r_val);
    
    Img(:,:,i) = img_8bit;
    
    
end

%% 真彩色影像組合
Img = cat(3,Img(:,:,3),Img(:,:,2),Img(:,:,1));

% 保存結果
geotiffwrite('LongQuanYi_2020_FirstSeason_uint8.tif', uint8(Img), R, 'GeoKeyDirectoryTag', ...
    info.GeoTIFFTags.GeoKeyDirectoryTag);

toc

      完了後,採用原論文中的方法,進行勻光勻色,這個方法主要是依據參考影像底圖進行處理,我用的100米分辨率google底圖,與目前不少勻光勻色軟件一致,好比colormap等等,可是google

,我的見解是,這些商業軟件吹噓成分過多,看結果吧:spa

 

 

再看一下細節部分:code

 

整個算法的計算效率仍是很是高的,可是有一點須要改進的就是,細節部分還須要優化,行吧,就寫到這裏,隨意了。如需代碼,QQ:1044625113,備註:勻光勻色!orm

相關文章
相關標籤/搜索