1. 程式人生 > >數字影象基礎---直方圖修正

數字影象基礎---直方圖修正

影象的直方圖修正方法主要有直方圖均衡化和直方圖規定化
直方圖修正的目的是,使修正後的影象的灰度間距拉開或者是影象灰度分佈均勻,從而增大反差,使影象細節清晰,從而達到影象增強的目的。

直方圖均衡化---自動增強整幅影象的對比度

從理論上來說,直方圖均衡化就是通過變換函式將原來的直方圖調整為具有平坦傾向的直方圖,然後用均衡直方圖校正影象。

(1)利用histeq()函式自動進行影象均衡化
histeq(I,n)
I:輸入影象
n:表示影象的灰度級數目,是一個可選引數,預設值64

>> a = imread('D:\MatlabWorkspce\test-images\Lena512.png');
>> c = histeq(a);
>> figure,subplot(2,2,1),imshow(a);
>> subplot(2,2,2),imshow(c);
>> subplot(2,2,3),imhist(a);
subplot(2,2,4),imhist(c)

(2)自行程式設計實現直方圖均衡化過程

clear all;
close all;
a=imread('2.jpg'); 
b=a;
[m,n]=size(b);  


%進行畫素灰度統計;
h=zeros(1,256);%統計各灰度數目,共256個灰度級
for i=1:m  
    for j=1:n  
        h(b(i,j) + 1) = h(b(i,j) + 1) + 1;%對應灰度值畫素點數量增加一
    end  
end  


%計算灰度分佈密度
hs=zeros(1,256);
for i=1:256
    hs(i)=h(i)/(m*n);
end


%計算累計直方圖分佈 
hp=zeros(1,256);
for i=1:256
    for j=1:i
        hp(i)=hs(j)+hp(i);
    end
end


%累計分佈取整
g=zeros(1,256);
for i=1:256
    g(i)= uint8(255*hp(i)); 
end


%對灰度值進行對映(均衡化)
for i=1:m
    for j=1:n
        c(i,j)=g(b(i,j));
    end
end
figure,subplot(2,2,1),imshow(b);
subplot(2,2,2),imshow(c,[]);
subplot(2,2,3),imhist(b);
subplot(2,2,4),imhist(uint8(c));

直方圖規定化---有選擇的增強某個灰度值範圍內的對比度

關鍵就是灰度映像函式 (1)histeq()函式實現 g = histeq(I,hgram) I:輸入影象 hgram:一個由指定值構成的行向量,是輸出影象的直方圖具有Length(hgram)個灰度級 g:輸出的影象
I = imread('D:\MatlabWorkspce\test-images\Lena512.png');
>> hgram = 50:2:250;
>> subplot(1,2,1);
>> J=histeq(I,hgram);
>> imshow(J);
>> subplot(1,2,2);
>> imhist(J,64);
>> 


相關推薦

數字影象基礎---直方圖修正

影象的直方圖修正方法主要有直方圖均衡化和直方圖規定化 直方圖修正的目的是,使修正後的影象的灰度間距拉開或者是影象灰度分佈均勻,從而增大反差,使影象細節清晰,從而達到影象增強的目的。 直方圖均衡化--

數字影象處理——直方圖匹配

步驟: 1.求原影象和匹配影象的灰度分佈直方圖 2.根據灰度變換函式分別構建原影象和匹配影象的對映表 3.根據單對映規則(最近對映)構建原影象到目標影象的對映表 4.根據對映表生成匹配影象 Matlab程式碼: clear,clc; f = imread('LENA.p

數字影象處理——直方圖均衡

步驟: 1.求原影象的灰度分佈直方圖 2.根據灰度變換函式構建對映表 3.根據對映表生成均衡影象 Matlab程式碼: clc,clear; f = imread('river.jpg'); [h,w] = size(f); % 求影象f的灰度分佈直方圖 hist1 =

數字影象處理》第二章——數字影象基礎

雖然寫這個部落格主要目的是為了給我自己做一個思路記憶錄,但是如果你恰好點了進來,那麼先對你說一聲歡迎。我並不是什麼大觸,只是一個菜菜的學生,如果您發現了什麼錯誤或者您對於某些地方有更好的意見,非常歡迎您的斧正! 目錄 回顧第一章:   2.1節——視覺感知要素 2.1.

OpenCV4Android開發實錄(3):數字影象基礎與OpenCV開發入門

俗話說:“工欲善其事,必先利其器”。數字影象處理作為專業性比較強的一門學科,也是計算機視覺的基礎課程,在開始學習OpenCV處理數字影象之前,我覺得對數字影象有一定的瞭解還是非常有必要的,尤其是對於沒有任何數字影象基礎的人。擁有紮實的數字影象基礎,將是

數字影象處理---直方圖處理的詳細數學推導

—————————————————————————————————————————————— 有夢想,那就去堅持去做,堅持去完成第一個10000萬小時! ———————————————————

數字影象處理之直方圖均衡化(Octave)

直方圖的均衡化是什麼呢? 舉個簡單的例子:在一個圓中有很多石頭,都集中在圓心附近,對其均衡化就是讓這些石頭儘可能的均勻分佈在圓這個區域內。 並且還有一個原則:如果石頭A在原來狀態下距離圓心的距離在所有石頭是第4位,那麼均衡化後仍然是第4位,相對順序不能變。(大概就是一個拉的更寬了)

java數字影象處理基礎使用imageio寫影象檔案示例(轉載)

一個BufferedImage的畫素資料儲存在Raster中,ColorModel裡面儲存顏色空間,型別等資訊,當前Java只支援一下三種影象格式- JPG,PNG,GIF,如何向讓Java支援其它格式,首先要 完成Java中的影象讀寫介面,然後打成jar,加上啟動引數- Xbootclasspat

岡薩雷斯:數字影象處理(二):第二章數字圖形基礎(下)——數學工具

陣列操作與矩陣操作的區別: 也就是說,除非特別說明,否則以後所提到的矩陣之間的操作都是元畫素與對應畫素之間的操作。 線性運算與非線性運算(和純數學裡面的定義相同): 例如,求和是線性運算,取最大值是非線性運算 灰度影象的集合與邏輯運算: 在灰度影象領域,集合的

岡薩雷斯:數字影象處理(二):第二章數字圖形基礎(上)——影象內插,相鄰畫素,鄰接性,距離度量

1.影象內插:從根本上看,內插是用已知資料來估計未知位置的數值的處理。 例如,假設一幅大小為500500畫素的影象要放大1.5倍到75075畫素,一種簡單的放大方法是建立一個假想的750750網格,它與原始影象有相同的間隔,然後將其收縮,使它準確的與原影象匹配。顯然,收縮後的750750網格

數字影象處理】作業一 直方圖均衡化

作業一 直方圖均衡化 吳政億 151220129 [email protected] (南京大學 電腦科學與技術系, 南京 210093) 實現細節 單通道直方圖均衡化

數字影象處理基礎

數字影象處理 數字影象基礎 影象內插 用於影象放大、縮小、旋轉、幾何校正等任務。首先確定變換前後的座標對應關係,用src表示轉換前的影象尺寸,dst表示轉換後的影象尺寸,src’表示轉換後圖像對應於原影象的座標。對於影象縮放,縮放係數t=src/dstt=sr

OpenCV數字影象處理(一)——直方圖均衡化的實現

計算一幅影象的直方圖 影象是由不同數值的顏色畫素組成,畫素值在整幅影象中的分佈情況是該影象的一個重要屬性。直方圖(Histogram)是一幅影象分佈的精確圖形表示。因此,灰度影象的直方圖有256個專案。 OpenCV計算直方圖 環境:Windows 10,

數字影象處理筆記——直方圖和點操作(Histograms and point operations)

直方圖 我們根據灰度值的大小可以將灰度值相同的畫素分到同一組,將每個灰度值所含的畫素點數目畫出來得到的圖就是直方圖。 點操作 我們可以對每個畫素點的值進行改變,這種操作叫做點操作。 對比度增強 對比度增強就是將灰度值的範圍拉到已達到顏色差別更明顯的目的,

數字影象處理筆記(六):空間濾波基礎

1 - 引言 空間濾波是影象處理領域應用廣泛的主要工具之一。這裡我們主要討論怎樣使用空間濾波來增強影象。 2 - 平滑空間濾波器 平滑濾波器用於模糊處理和降低噪聲。模糊處理經常用於預處理任務中,例如在目標提取之前去除影象中的一些瑣碎細節。 2.1 - 平滑線性濾波器 平滑

數字影象處理基礎知-色度空間(RGB\CMY\CMYK\HSI的詳細解釋和一些關聯性描述)

最近在做一些數字影象處理方面的工作,所以想在這裡記錄一下自己在數字影象處理方面的一些基礎知識的積累. 在此記錄一下,畢竟腦容量總是有限的 一、色度空間 色度空間劃分是為了便於以一定標準指定各式各樣的顏色,其實質上是一個標準系統,通過系統中的點來代表每一種顏色。現階段所常用的色度空間分

頻率域濾波基礎之二(讀數字影象處理學習halcon)

二維離散傅立葉(DFT)變化及其反傅立葉變換(IDFT) 傅立葉變換通用形式 對通用形式來講,c=1,s=-1即為傅立葉變化(影象空間域轉頻域);c=1/MN,s=1即為逆變換(頻域轉空間域) halcon運算元fft_generic(Image : ImageFFT

數字影象處理MATLAB基礎中的一些新發現

今天看書時複習了matlab中數字影象處理的一些知識,有了一些新發現: 1.matlab工具箱中影象的座標表示與常見的數學表示略有不同,matlab中原點是(1,1)開始的,而平常所見的是從(0,0)

數字影象處理》--直方圖處理

直方圖 灰度直方圖是灰度級的函式,描述的是影象中具有該灰度級的像元的個數。確定影象像元的灰度值範圍,以適當的灰度間隔為單位將其劃分為若干等級,以橫軸表示灰度級,以縱軸表示每一灰度級具有的像元數或該像元數佔總像元數的比例值,做出的條形統計圖即為灰度直方圖。 如

頻率域濾波基礎之五(讀數字影象處理學習halcon)

選擇性濾波 在很多應用中,其中感興趣是處理指定的頻段或頻率矩形。第一類濾波器分別稱為帶阻濾波器或帶通濾波器。第二類濾波器稱為陷波濾波器。 1、帶阻濾波和帶通濾波 D(u,v)是距離頻率矩形中心的距離,D0是頻寬的徑向中心,W是頻寬。一個帶同濾波器可以用從低通濾波器得到高通