1樓:匿名使用者
很簡單,將以下語句貼上到一個新建的matlab函式檔案裡並取名為rgb2gray2.m(預設即是如此)function j = rgb2gray2(i)j = 0.29894 * i(:
,:,1) + 0.58704 * i(:
,:,2) + 0.11402 * i(:
,:,3);接下來讀入一幅rgb影象到矩陣i中後呼叫j = rgb2gray2(i)即可,j就是轉換後的灰度影象矩陣。需要注意的是,自編函式未考慮太多情況,因此輸入必須是rgb影象的矩陣(可用imshow()函式讀取自硬碟裡的**),如果原本就是灰度影象或其它非法輸入的話將會報錯。
2樓:匿名使用者
廢話不多說,因為是彩色圖直接用自帶的rgb2gray就行了,如果你需要看過程,help調出這個函式就行,或者直接提取他的m函式!(在命令空間直接用type rgb2gray),希望能幫到你,我專門做影象處理,不會的隨時可以加我!
3樓:只因朝夕
我覺得這個比較簡單,要先儲存一個**。
4樓:
比如:[filename,pathname]=uigetfile(,'載入影象');
i=[pathname,filename];
i=imread(i);
i=rgb2gray(i);
imshow(i)
在matlab裡如何將jpg格式的彩色**轉化為灰度圖?
5樓:一點設計演示
讀取rgb格式的影象
myfirstgraypic = rgb2gray(myyuanlaipic);%用已有的函式進行rgb到灰度影象的轉換
[rows , cols , colors] = size(myyuanlaipic);%得到原來影象的矩陣的引數
midgraypic = zeros(rows , cols);%用得到的引數建立一個全零的矩陣,這個矩陣用來儲存用下面的方法產生的灰度影象
midgraypic = uint8(midgraypic);%將建立的全零矩陣轉化為uint8格式,因為用上面的語句建立之後影象是double型的
for i = 1:rows
for j = 1:cols
sum = 0;
for k = 1:colors
sum = sum + myyuanlaipic(i , j , k) / 3;%進行轉化的關鍵公式,sum每次都因為後面的數字而不能超過255
endmidgraypic(i , j) = sum;
endendimwrite(midgraypic , 'e:/image/matlab/darkmousegray.png' , 'png');
%顯示原來的rgb影象
figure(1);
imshow(myyuanlaipic);
%顯示經過系統函式運算過的灰度影象
figure(2);
imshow(myfirstgraypic);
%顯示轉化之後的灰度影象
figure(3);
imshow(midgraypic);
6樓:匿名使用者
matlab 如何將彩圖轉成灰度圖
7樓:要當技術宅
需要準備的工具:電腦,matlab軟體。
1、首先在matlab祝主介面輸入一下指令清屏; clear;clc;。
2、 將自己準備的**放在matlab的工作目錄中,直接將**複製到工作目錄中。
3、接著在主介面輸入一下指令,將**轉換成資料;data=imread('資料夾圖示.bmp');
4、 雙擊工作空間中的,data我們可以看到**資料的具體資訊。
5、輸入一下指令,我們可以看到,data資料就是表示的** imshow(data);
6、最後輸入一下指令,就可以獲得一個灰度後的矩陣; gdata=rgb2gray(data)。
8樓:浪小客
1、開啟**:在主介面上輸入命令將影象轉換為資料;data = imread('folder icon.bmp')。
2、檢視資料:雙擊工作區中的資料,我們可以看到影象資料的具體資訊。
4、灰度說明:我們可以通過輸入指令獲得灰度後的矩陣;gdata = rgb2gray(資料)。
5、檢視灰色矩陣:雙擊,右邊的工作區,gdata,可以看到資料的具體資訊。
9樓:路過的奪卡王
如何用matlab把bmp格式變成灰度影象
10樓:匿名使用者
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);
11樓:匿名使用者
樓上回答正確,其實還可用更為簡單的方法,此為影象處理中的基礎,舉簡例說明。
假設你需將名為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
12樓:匿名使用者
可將你要轉換的影象讀入到一個矩陣中,然後採用mat2gray函式將此資料矩陣轉換為灰度影象。
如:bmp=imread('影象名.bmp');
k=filter2(fspecial('sobel'),bmp);
i=mat2gray(k);
imshow(bmp);
figure,imshow(i);
13樓:匿名使用者
麼叫灰度圖?任何顏色都有紅、綠、藍三原色組成,假如原來某點的顏色為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
14樓:匿名使用者
可以直接使用rgb2gray函式。
15樓:匿名使用者
i=imread('影象名.bmp');
r=rgb2gray(i);
firgure,imshow(r);
16樓:匿名使用者
file=get(handles.edit1,'string');
rgb=imread(file);
a=rgb2gray(rgb);
axes(handles.axes2);
imagesc(a)
colormap(gray)
matlab 如何將彩圖轉成灰度圖
要當技術宅 需要準備的工具 電腦,matlab軟體。1 首先在matlab祝主介面輸入一下指令清屏 clear clc 2 將自己準備的 放在matlab的工作目錄中,直接將 複製到工作目錄中。3 接著在主介面輸入一下指令,將 轉換成資料 data imread 資料夾圖示.bmp 4 雙擊工作空間...
如何將matlab中多幅圖合成為一幅圖
1 首先,我們隨機產生三組範圍不同的資料,資料量都為500,他們的邊界分別為 10,15 23,38 38,58 方法如下 x1 10 5 rand 500,1 x2 23 15 rand 500,1 x3 38 20 rand 500,1 2 下面,我們要分別畫出x1,x2,x3對應的曲線,用ma...
如何將Excel資料匯入MATLAB中
方法 步驟 將待匯入的矩陣結構的資料錄入excel中,錄入時注意行列要跟原矩陣一一對應 錄入完以後儲存資料,為了後續步驟使用方便,命名時我們最好把它命名為我們接下來在matlab中要引用的變數名 比如在matlab中要將該矩陣作為b矩陣參與運算,就可以把它命名為b.xls,xls為副檔名 執行mat...