對比度線性拉伸

2021-08-14 19:46:23 字數 1206 閱讀 2980

設原圖灰度值範圍[a,b],灰度拉伸指定的灰度值範圍是[c,d],x為某點原來的灰度值,y為拉伸後的灰度值,則有以下關係

其中

img1 = imread('1.tif');

figure()

subplot(121)

imshow(img1)

title('原影象');

para = [0 100];

img2 = mygrayscaletransform(img1, para);

subplot(122)

imshow(img2)

title('灰度範圍拉伸後的影象');

function [img2] = mygrayscaletransform( img1, para)

% 判斷灰度範圍的有效性

if(para(1)>255 || para(1)<0)

error('灰度值範圍越界');

else if(para(1)>para(2))

error('最小灰度值大於最大灰度值');

end%轉化為double

img1 = double(img1);

%獲取原圖m長和n寬

[m,n] = size(img1);

%獲取影象的最大灰度值img1_min和最小灰度值img1_max

img1_min = min(img1(:));

img1_max = max(img1(:));

%para(1)為最小灰度para(2)為最大灰度

%壓縮區間f為0-1

f = (img1(:)-img1_min)/(img1_max-img1_min);

%拉伸space灰度區間為para(1)到para(2)

space = para(1)+(para(2)-para(1))*f;

%還原影象

img2 = uint8(reshape(space,m,n));

end

結果

線性對比度增強 C GDAL庫)

include gdal priv.h include cpl conv.h include include using namespace cv using namespace std void createrasterfile 輸出影象的格式資訊 cout driver getdriver ge...

OpenCV學習筆記(一)對比度拉伸

分段線性是線性變換的分段形式,分段線性中的各個函式是任意設定的。分段線性能夠實現對影象某些區域的特定分析,常用於影象增強中。最簡單的就是對比度拉伸。對比度拉伸技術是通過擴充套件影象灰度級動態範圍來實現的,它可以擴充套件對應的全部灰度範圍。提高影象的對比度可以增強影象各個區域的對比效果,對影象感興趣的...

拉伸暗區壓縮亮區 區域性對比度增強

建議移步大神彭工的部落格一種快速簡便優秀的全域性曲線調整與區域性資訊想結合的非線性彩色增強演算法 多圖深度分析和探索 本文是對該部落格的學習和總結。一 流程 1 根據影象亮度分布建立乙個自適應的亮度全域性對映函式,對於亮度基本不處理,主要提高暗區的畫素值 2 根據畫素領域內的平均值和畫素值的比例,做...