當前位置:編程學習大全網 - 源碼下載 - 圖像算法源代碼

圖像算法源代碼

直方圖均衡化也是壹種非線性量化,網上找的,作者寫的很詳細。

%數字圖像處理器作業

這個程序可以對JPG格式的彩色圖像文件進行灰度化,並進行直方圖均衡化。

%

%輸入文件:要處理的PicSample.jpg圖像。

%輸出文件:PicSampleGray.bmp灰色圖像。

% PicEqual.bmp均衡圖像

%

%輸出圖形窗口描述

%圖號1要處理的彩色圖像

% 2號圖形灰色圖像

%第3號圖形直方圖

%第4號圖形均衡直方圖

%圖5灰度變化曲線

%第6號圖形均衡圖像

% 1,處理後的圖片名稱應該是PicSample.jpg。

% 2,每次程序運行時,工作區將被清空。

%作者;無建築領主

清理所有

% 1,圖像預處理,讀入彩色圖像並使其灰化。

PS = im read(' pic sample . jpg ');%讀取JPG彩色圖像文件

Imshow(PS)%顯示的圖號為1。

標題(“導入的彩色JPG圖像”)

imwrite(rgb2gray(PS),' picsamplegray . BMP ');%灰度化彩色圖片並保存

PS = RGB 2 gray(PS);%灰色數據存儲在數組中。

圖,imshow(PS)%顯示的是灰顯圖像,也是均衡前的樣圖2號。

標題(“灰色圖像”)

% 2,繪制直方圖

[m,n]=大小(PS);%測量圖像尺寸參數

GP =零(1,256);%預先創建壹個矢量,用於存儲灰度概率。

對於k=0:255

GP(k+1)= length(find(PS = = k))/(m * n);%計算每個灰度級的概率,存儲在GP中相應的位置。

結束

圖,bar(0:255,GP,' g')%繪制直方圖圖3。

標題(“原始圖像直方圖”)

Xlabel('灰度值')

Ylabel(“發生概率”)

% 3,直方圖均衡化

s 1 =零(1,256);

因為i=1:256

對於j=1:i

s 1(I)= GP(j)+s 1(I);%計算風險

結束

結束

S2 = round(s 1 * 256);%將Sk到相似的灰度級。

因為i=1:256

GPeq(I)= sum(GP(find(S2 = = I));%計算每個現有灰度級的概率。

結束

圖,bar(0:255,GPeq,' b')%顯示了均衡的直方圖圖4。

標題(“均衡後的直方圖”)

Xlabel('灰度值')

Ylabel(“發生概率”)

圖中,plot(0:255,S2,“r”)%顯示了5號圖的灰度變化曲線

圖例(“灰度變化曲線”)

Xlabel(“原始圖像的灰度”)

Ylabel(“均衡後的灰度”)

% 4,圖像均衡

PA = PS

因為i=0:255

PA(find(PS = = I))= S2(I+1);%將每個像素的歸壹化灰度值分配給該像素。

結束

圖,imshow(PA)%顯示均衡圖像圖6。

標題(“均衡圖像”)

imwrite(PA,' pice qual . BMP ');

  • 上一篇:關於java iterator的next()方法的用法
  • 下一篇:如何設計大數據實時分析平臺?
  • copyright 2024編程學習大全網