2013-02-08 186 views
0

我已經寫了如下函數來查找像素是否屬於matlab中的圖像。檢查像素是否屬於圖像

在開始的時候,我想測試它彷彿在一組號碼屬於像下面這樣的載體:

function traverse_pixels(img) 
for i:1:length(img) 
    c(i) = img(i) 
end 

但是,當我運行例如下面的命令,我得到的錯誤顯示在結尾處:

>> A = [ 34 565 456 535 34 54 5 5 4532 434 2345 234 32332434]; 
>> traverse_pixels(A); 
??? Error: File: traverse_pixels.m Line: 2 Column: 6 
Unexpected MATLAB operator. 

這是爲什麼?我該如何解決這個問題?

謝謝。

+1

注意,要測試相等你還需要輸入'C(I)'你需要使用'=='而不是'='。現在你只需要給局部變量'c'分配一些東西。 –

回答

2

。在你的for循環,它應該的頭一個語法錯誤是:

for i = 1:length(img) 

此外,爲了檢查一個數組包含你可以使用一個特定的值:

A = [1 2 3] 
if sum(A==2)>0 
    disp('there is at least one 2 in A') 
end 

由於不包含for循環,因此這應該更快。

+1

而不是'sum(x == k)> 0'我會推薦使用'any(x == k)' –

+0

我不知道這個解決方案,那更漂亮了。 –

2

對於i = 1:長度(圖像)

傻錯誤,不,它是=