2011-11-21 44 views
0

我需要訪問圖像的矩陣,並從上到下和從左到右掃描它,因爲我需要爲連接組件標記algorithm.But代碼,但我不知道從哪裏開始?因爲我不知道如何存儲矩陣?如我在MATLAB 一個新手循環可以運行像如何訪問matlab中的圖像矩陣並掃描它以找到特定的像素值?

[rows columns] = size(img); 

for a=1:1:rows 
    for b=1:1:columns 

但是,我不知道,如果是正確的方式或不?因爲我需要訪問每個像素值並找到具體的值?如何寫,如果pixelvalue = 1,給它加1?

回答

3

在Matlab中,您不一定需要使用循環來分析矩陣的值。在這種簡單的情況下,您可以使用邏輯索引(請參閱不同的indexing methods in Matlab)在矩陣中查找特定值並對其進行修改。

爲了您的特殊情況,要修改只能在具有值1個像素,這個值設置爲2,它是簡單地寫:

img(img==1)=2; 
0

讀取文件

I = imread('image.png'); 

如果它是一個RGB圖像,每個像素值(在ij)可以像這樣訪問:

r = I(i, j, 1); 
g = I(i, j, 2); 
b = I(i, j, 3); 
相關問題