如何用matlab把bmp格式變成灰度影象

時間 2021-09-04 05:40:02

1樓:匿名使用者

bmp的影象是彩色的,也就是說有rgb三個波段,讀出的影象資料是一個m*n*3的陣列,如果想把它變成灰度影象的,只要分離出任意rgb中的一個分量即可,例如你的影象是1.bmp, x=imread('1.bmp');imshow(x); y=x(:

,:,1); imshow(y);就可以了,不知道你是想怎樣把影象變成灰度的,如果三個分量都想要的話,做個計算也可以的,例如把rgb做個平均;y=1/3*x(:,:

,1)+1/3*x(:,:,2)+1/3*x(:

,:,3);imshow(y);

2樓:匿名使用者

樓上回答正確,其實還可用更為簡單的方法,此為影象處理中的基礎,舉簡例說明。

假設你需將名為face1.bmp的彩色圖轉換為face2.bmp的灰度圖,**如下:

imagename=strcat('face1.bmp');%獲取影象名稱

i= imread(imagename); %讀取彩色影象

j=rgb2gray(i); %轉換為灰度圖

figure(1); %視窗顯示灰度圖

imshow(j);

fname=strcat('face2.bmp');

imwrite(j,fname); %儲存為bmp格式的灰度圖face2

3樓:匿名使用者

可將你要轉換的影象讀入到一個矩陣中,然後採用mat2gray函式將此資料矩陣轉換為灰度影象。

如:bmp=imread('影象名.bmp');

k=filter2(fspecial('sobel'),bmp);

i=mat2gray(k);

imshow(bmp);

figure,imshow(i);

4樓:匿名使用者

麼叫灰度圖?任何顏色都有紅、綠、藍三原色組成,假如原來某點的顏色為rgb(r,g,b),那麼,我們可以通過下面幾種方法,將其轉換為灰度:

1.浮點演算法:gray=r*0.

3+g*0.59+b*0.112.

整數方法:gray=(r*30+g*59+b*11)/1003.移位方法:

gray =(r*28+g*151+b*77)>>8;

4.平均值法:gray=(r+g+b)/3;

5.僅取綠色:gray=g

5樓:匿名使用者

可以直接使用rgb2gray函式。

6樓:匿名使用者

i=imread('影象名.bmp');

r=rgb2gray(i);

firgure,imshow(r);

7樓:匿名使用者

file=get(handles.edit1,'string');

rgb=imread(file);

a=rgb2gray(rgb);

axes(handles.axes2);

imagesc(a)

colormap(gray)

matlab怎麼讀取一幅影象,並轉換為灰度影象

8樓:浪小客

1、開啟**:在主介面上輸入命令將影象轉換為資料;data = imread('folder icon.bmp')。

2、檢視資料:雙擊工作區中的資料,內我們可以看到

影象數容據的具體資訊。

3、驗證影象結果:輸入命令,我們可以看到資料資料是**所代表的;imshow(資料)。

4、灰度說明:我們可以通過輸入指令獲得灰度後的矩陣; gdata = rgb2gray(資料)。

5、檢視灰色矩陣:雙擊,右邊的工作區,gdata,可以看到資料的具體資訊。

6、顯示灰度影象:如下圖所示,可以看到**後的灰度。

9樓:匿名使用者

不知道你是不是這個意思:

i = imread('ngc6543a.jpg');%給出**路徑即可,

內i是一個三維容

矩陣j = rgb2gray(i);

figure, imshow(i),

figure, imshow(j);

10樓:全心全意為知道

i = rgb2gray(rgb);

matlab函式rgb2gray,函式功能:將真彩色影象轉換為灰度影象。在matlab命令視窗中鍵入doc rgb2gray或help rgb2gray可以獲得更多關於該回函式的答幫助資訊。

呼叫方式:

i = rgb2gray(rgb)

將真彩色rgb影象轉換成灰度影象。(rgb並不發生變化)newmap = rgb2gray(map)返回一個灰度調色盤。

以下是這個函式的例項:

% 1. 顯示rgb真彩色影象

figure('name', '顯示真彩色影象')imshow(imgrgb)

% 2. 顯示灰度影象

imggray = rgb2gray(imgrgb);

figure('name', '顯示灰度影象')imshow(imggray)

如何用c 對bmp圖固定閾值二值化

讀到每個畫素點的rgb值,計算一下 如何用c語言實現對影象的二值化?該函式用於對影象進行閾值分割運算 引數 lpstr lpdibbits 指向源dib影象指標 long lwidth 源影象寬度 象素數 long lheight 源影象高度 象素數 bool imagechangeproc thr...

如何用c將bmp圖的點陣圖資料讀到陣列中

一種方法直接讀檔案 bmp檔案的檔案頭和資訊頭共佔用54位元組 跳過54位元組直接讀取點陣圖資料 stream stream file.openread image.bmp 開啟位 件 byte buffer new byte stream.length 54 緩衝區,檔案長度減去檔案頭和資訊頭的長...

C語言讀取黑白BMP圖,如何用C語言程式從bmp格式的圖片中讀取圖片的灰度值

1.黑白bmp檔案圖的畫素大多是從62位元組 從0數起 開始。具體從哪一位元組開始,決定於檔案中第10位元組 從0數起 開始處4位元組的整形數是多少.因為檔案頭後面不是緊接著畫素值.2.黑白bmp圖的一個畫素用一個bit表示。一般0表示背景 預設為白色 1表示前景色 預設為黑色 即一個位元組代表相鄰...