如何利用matlab程式編寫求出直方圖上最大值百分之x處的灰

2021-04-21 10:27:21 字數 833 閱讀 4114

1樓:酷呆愛死呆

直方圖統計的是灰度值出現的次數,可以不對影象做處理,直接顯示直方圖,這樣內它統計的就是灰度值的出現次數。容例如:

x=imread('d:\ebook\lena.bmp');

x=rgb2gray(x);

imhist(x)

>> [conters,x1]=imhist(x);%%conters是各個灰度值出現的次數,x1是各個灰度值

>> [conters1,x11]=max(imhist(x))%%尋找最大值處

conters1 =

762x11 =

153conters1裡面存的是各個灰度級的頻數,x11裡面是各個灰度級,如果把conters1和x11當做陣列的話,那麼x11陣列中的序號1對應的灰度級就是0,2對應的灰度級就是1,所以只要找到conters1陣列中你需要的百分之幾*最大值的序號,直接減1後就是其灰度值

conters=imhist(x);%%該形式直接返回各個灰度級的頻數

>> [m,n]=find(conters==0.5*762)%%找到你需要的頻數,762為上面求的最大值

m =107%%序號

n =1

所以其0.5*762處對應的灰度值就是107-1=106

求用matlab得到灰度的直方圖的程式

2樓:匿名使用者

imhist

display histogram of image datasyntax

imhist(i,n)

imhist(x,map)

[counts,x] = imhist(...)

matlab解答1。使用for函式編寫程式實現sun

這個不用驗證了,很多人做過驗證,包括我。肯定是向量化的矩陣計算遠遠優於迴圈計算。sun?什麼東西?日函式?用matlab程式設計 使用for函式編寫一個程式實現sum a 的功能,其中a為矩陣。急求?fuction b sumf a 說明部分 b zeros n,1 for n 1 n for m ...

matlab軟體編寫完程式怎麼執行出來的

你寫程式並儲存後,如果是指令碼檔案,點上方工具中的 執行 就可以了 如果是函式檔案,要先定義輸入變數,再呼叫函式,才能執行。輸入了要執行的函式名稱,直接回車就可以啊 編制好了matlab程式,怎麼在matlab裡面執行?把門頭那個軟體開啟以後點那個新建,然後你就可以在上邊兒那段兒把你的那個程式給輸進...

C語言程式編寫,如何編寫C語言程式

陣列的地方換成指標的形式就可以了,在定義的地方加個 p,然後把p a就可以了,例a i 可以寫成p i的形式。include main min a 0 site2 0 for i 1 i 10 i if a i temp1 a 9 a 9 max j site1 a j temp1 temp1 a ...