在matlab裡,如何將兩張灰度圖的直方圖在一張figure上顯示?如下圖

時間 2021-09-07 16:12:25

1樓:匿名使用者

使用subplot命令。

函式功能

matlab中的函式subplot

使用方法:subplot(m,n,p)或者subplot(m n p)。

subplot是將多個圖畫到乙個平面上的工具。其中,m表示是圖排成m行,n表示圖排成n列,也就是整個figure中有n個圖是排成一行的,一共m行,如果第乙個數字是2就是表示2行圖。p是指你現在要把曲線畫到figure中哪個圖上,最後乙個如果是1表示是從左到右第乙個位置。

在matlab的命令視窗中輸入doc subplot或者help subplot即可獲得該函式的幫助資訊。

簡單的例子

把繪圖視窗分成兩行兩列四塊區域,然後在每個區域分別作圖,基本步驟:

subplot(221); % 2、2、1之間沒有空格也可以在第一塊繪圖

subplot(222)

在第二塊繪圖

subplot(223)

在第三塊繪圖

subplot(224)

在第四塊繪圖

示例1:

在matlab的命令視窗依次輸入以下命令:(>>不用輸入)>> t=0:0.001:1;

>> y1=sin(10*t);

>> y2=sin(15*t);

>> subplot(211)

>> plot(t,y1)

>> subplot(212)

>> plot(t,y2)

執行結果見右圖。也可以將上述命令寫成乙個程式段:

function subplot_sample1()close all

figure

grid on

t=0:0.001:1;

y1=sin(10*t);

y2=sin(15*t);

subplot(211)

plot(t,y1)

subplot(212)

plot(t,y2)

2樓:匿名使用者

plot();

hold on

plot()

怎麼用matlab顯示一張**和它的灰度直方圖!本人絕對小白!

3樓:匿名使用者

如果是彩色影象,要對r、g、b3個分量分別畫出直方圖,如果是灰度影象,直接用imhist(image)就可以畫出,imhist只可以畫二維的灰度直方圖

4樓:寧夢草

close all

i = imread('c:\documents and settings\dmt\桌面\實習\影象\灰度影象\lenna.bmp')

imshow(i);

imhist(i);

有事喊我就可以了!!!

5樓:匿名使用者

f1=imread('lennna.bmp');

imshow(f1); 顯示**

imhist(f1);

matlab 影象直方圖顯示是什麼?

6樓:等風亦等你的貝

不同的資料會顯示不同的直方圖,以imhist為例,直方圖及**如下。

利用matlab計算影象直方圖函式為imhist()具體用法:

imhist( i );直接顯示影象i的灰度直方圖;

imhist(i,n)n為指定灰度級顯示直方圖;

[count, x] = imhist( i ) 獲取直方圖資訊,count為每一級灰度畫素個數,x為灰度級,x也可以在imhist(i,x)中指定,可以通過stem(x,count)畫相應直方圖;

**應用:

matlab做直方圖均衡,下面的程式是區域性直方圖均衡,程式執行後的影象顯示如下圖,黑色部分灰度值均為1

寫一段**畫出乙個影象的灰度直方圖(不能用matlab自帶的imhist函式),並作直方圖均衡化處理。

7樓:用著追她

1、先求出給定**的直方圖。

2、直方圖均衡化處理的公式,其中,v和u分別代表影象的高和寬。

3、為此,寫出**是:pic[i,j]=(255)/(u*v)*sum(c[:int(img[i,j])])。

4、均衡化的**如下。

5、畫出均衡化**的直方圖。

6、均衡化前後,**對比一下。做影象減法:pic-img。

8樓:匿名使用者

i=rgb2gray(i);  %灰度化

%繪製直方圖

[m,n]=size(i);

gp=zeros(1,256);

for k=0:255

gp(k+1)=length(find(i==k))/(m*n);  %計算每級灰度出現的概率,將其存入gp

end%三,直方圖均衡化

s1=zeros(1,256);

for i=1:256

for j=1:i

s1(i)=gp(j)+s1(i);

endend

s2=round((s1*256)+0.5); %將sk歸到相近級的灰度

for i=1:256

gpeq(i)=sum(gp(find(s2==i)));%計算現有每個灰度級出現的概率

endfigure;

subplot(221);bar(0:255,gp,'b');

title('原影象直方圖')

subplot(222);bar(0:255,gpeq,'b')title('均衡化後的直方圖')

x=i;

for i=0:255

x(find(i==i)) = s2(i+1);

endsubplot(223);imshow(i);

title('原影象') ;

subplot(224);imshow(x);

title('直方圖均衡後的影象');

9樓:匿名使用者

%% 灰度均衡化函式 自編

i = rgb2gray(imread('lena.png'));

matlab_i=histeq(i);

for j=1:1:256

num_j(j)=max(size(find(j-1==i)));

endfor op=1:1:size(i,1)

for pk=1:1:size(i,2)

gray=i(op,pk,1);

gray1=sum(num_j(1:gray+1))/(size(i,1)*size(i,2))*255;

custom_i(op,pk,1)=uint8(round(gray1));

endend

figure;

subplot(231),imshow(i);title('原圖灰度化');

subplot(234),imhist(i);

subplot(232),imshow(matlab_i);title('matlab灰度均衡');

subplot(235),imhist(matlab_i);

subplot(233),imshow(custom_i);title('自定義灰度均衡');

subplot(236),imhist(custom_i);

怎麼用matlab顯示一張**和它的灰度直方圖?

10樓:夏日絕

close all

i = imread('c:\documents and settings\dmt\桌面\實習\影象\灰度影象\lenna.bmp')

imshow(i);

imhist(i);

matlab

matlab 是美國mathworks公司出品的商業數學軟體,用於演算法開發、資料視覺化、資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括matlab和simulink兩大部分。

11樓:天路

可按如下操作:

在 matlab下邊輸入

help imhist edit histeq %%%

灰度圖象的直方圖資料

%%%clcclearfn='rice.tif';

i=imread (fn);

j=i;%

計算灰度圖象的直方圖資料

l=256;

%灰度級 ps = zeros(l,1);

%統計直方圖結果資料 nk=zeros(l,1);

[row,col]=size(i);

n=row*col;

%總畫素個數 for i = 1:row for j = 1:col num = double(i(i,j))+1;

%獲取畫素點灰度級 nk(num) = nk(num)+1;

%統計nkendend%計算直方圖概率估計for i=1:lps(i)=nk(i)/n;

endfigure;subplot(3,1,1);

imshow(j),title('原圖');

subplot(3,1,2),plot(nk),title('直方圖(nk)');

subplot(3,1,3),plot(ps),title('直方圖(ps)');

%figure(4),imhist(hist);

%p=imhist(hist);

%生成直方圖函式,返回灰度圖象直方圖資料即可。

拓展matlab

matlab 是美國mathworks公司出品的商業數學軟體,用於演算法開發、資料視覺化、資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括matlab和simulink兩大部分。

matlab是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。是由美國mathworks公司發布的主要面對科學計算、視覺化以及互動式程式設計的高科技計算環境。它將數值分析、矩陣計算、科學資料視覺化以及非線性動態系統的建模和**等諸多強大功能整合在乙個易於使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,並在很大程度上擺脫了傳統非互動式程式語言(如c、fortran)的編輯模式,代表了當今國際科學計算軟體的先進水平。

如何使用matlab將一張**的直方圖顯示出來?

12樓:酷呆愛死呆

y=[2.57,2.9,2.

87,2.82,2.49,2.

69,3.09,2.91,3.

0,3.058,2.92,2.

84,3.23,3.1,3.

02,3.11,2.87,2.

95,2.92,2.73]; m=hist(y) y進行個數統計(10個區間) 結果:

m = 1 1 1 1 2 6 2 2 3 1 m=hist(y,5) y進行個數統計(5個區間)結果: m = 2 2 8 4 4 n = hist(y, nbins)

nbins是乙個範圍,使用nbins間隔數。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%顯示影象的直方圖,imhist,其統計的是影象灰度值出現的次數,影象灰度值範圍0-255。

matlab中,如何將兩條曲線畫在座標系裡,plot x

plot有如下用法 plot y plot x1,y1,xn,yn plot x1,y1,linespec,xn,yn,linespec plot x1,y1,linespec,propertyname propertyvalue plot axes handle,x1,y1,linespec,pr...

在Excel裡,如何將兩列中的內容相加顯示

哇哎西西 準備工具 材料 裝有windows 10的電腦一臺,microsoft office 家庭和學生版 2010 excel軟體。1 例如 要求 a 列和 c 列的和,結果方在 e 列。2 選定單元格 e1 在輸入欄中輸入 a1 c1 完成輸入。3 這樣就算出了a1 c1的結果在e1中,點著右...

在Word2007中如何將一張設成橫向

預設的文件是縱向的,如果要把其中一頁設定為橫向的話,把游標放在要橫向頁的前一頁,執行檔案 頁面設定,選擇橫向,在下拉列表中選擇插入點之後,下一頁就變成橫向了,把游標放在橫向頁中,在頁面設定中選擇縱向,同樣選擇插入點之後,下方的就變成縱向的。其中那一頁是橫向的。你們的方法太複雜了,只需要選中你需要變換...