2015-01-03 52 views
0

我試圖以這種方式更改圖像的像素顏色。如何更改matlab中的像素顏色

im = imread('example.jpg'); 

im1 = im(:,:,1); 
im2 = im(:,:,2); 
im3 = im(:,:,3); 

im1(1,1) = 255; 
im2(1,1) = 255; 
im3(1,1) = 255; 

im = cat(3,im1,im2,im3); 

這是否正確嗎?

由於此代碼不會更改像素顏色。

p = impixel(im, 1,1); 

p不等於[255,255,255]

回答

1

我曾嘗試你的代碼和它的作品,得到了[255,255,255],而原爲[226 137 125】..

你的方法可行,但它可以通過這樣的更短的過程來完成:

im   = imread('example.jpg'); 
im(1, 1, :) = [255 255 255]; 
p   = [im(1, 1, :)]; 
+0

你試過'impixel'部分嗎?這看起來不正確。但我同意你的改進版本;分割圖像沒有實現任何有用的功能。 – beaker

+0

@beaker - Yess我試過了,它也起作用..其實我不知道「impixel」函數,但是我只是寫了它,結果是「255 255 255」。上面的代碼,並沒有給我任何錯誤,事實上...... – mehmet

+0

我也沒有聽說過它,但看看它看起來像'c'和'r'的文檔應該是矢量,所以我沒有知道如果你使用標量將會拋出一個錯誤。顯然它不:) :) – beaker