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表示前景色 預設為黑色 即一個位元組代表相鄰...