嗚嗚喔學習筆記: MATLAB初體驗(灰階圖rgb2gray(),二值化,負片,旋轉圖像)

搜尋此網誌

2013年10月31日 星期四

MATLAB初體驗(灰階圖rgb2gray(),二值化,負片,旋轉圖像)

1.程式碼(二值化):

    clear all; clc;% 清空
    filepath=['C:\Users\student\Desktop\p123']; %讀圖
    c=imread(filepath,'jpg');%副檔名
    br=rgb2gray(c);%轉成灰階圖
        for(i=1:1:107)%長107
            for(j=1:1:160)%寬160
                  if (c(i,j)>128)%如果大於128 轉成256 白
                     br(i,j)=256;
                  else
                     br(i,j)=1;%小於則黑
                  end
            end
        end
    figure(1),imshow(br);%印出


2.程式碼(負片):
    clear all; clc;
    filepath=['C:\Users\student\Desktop\p123']; 
    c=imread(filepath,'jpg');
    br=rgb2gray(c);
     for(i=1:1:107)
            for(j=1:1:160)     
                br(i,j)=257 - c(i,j);%用257減 
            end
     end
    figure(1),imshow(c);  
    figure(2),imshow(br);


3.程式碼(旋轉):
%旋轉180
    clear all; clc;
    filepath=['C:\Users\student\Desktop\p123']; %讀圖
    c=imread(filepath,'jpg');讀副檔名
     for(i=1:1:107)
            for(j=1:1:160)     
                br(i,j)=c(108-i,161-j);% EX:(1.1)位置值轉給(108-1,161-1)位置
                %以此類推
            end
     end
    figure(1),imshow(c);  
    figure(2),imshow(br);



1 則留言:

  1. 將您的程式稍作修改會跑出

    Error using rgb2gray>parse_inputs (line 88)
    RGB must be a m x n x 3 array.

    Error in rgb2gray (line 35)
    X = parse_inputs(varargin{:});

    Error in erzhi_fupeng (line 3)
    gray=rgb2gray(ori);%轉成灰階圖

    三項Error
    clear all; clc;% 清空
    ori=imread('C:\Program Files (x86)\MATLAB\work\erzhi_fupeng.JPG');%副檔名
    gray=rgb2gray(ori);%轉成灰階圖
    for i = 1 : 1 : 275 %長107
    for j = 1 : 1 : 355 %寬160
    if (ori( i , j )>1024)%如果大於128 轉成256 白
    gray( i , j )=2048;
    else
    gray( i , j )=1;%小於則黑
    end
    end
    end
    figure(1),imshow(gray);%印出

    回覆刪除