2012-12-23 92 views
1

我有按鈕,需要增加\降低RGB的顏色水平。嘗試做這樣的事情Matlab編輯RGB值

im3 = im3(:,:,1) + 2; 

但它會產生一些奇怪的圖像故障。有任何想法嗎? 我不是一個專業人士,所以我可能會去做這一切都錯了,但任何指針將非常感激。

+0

@Shai:知道[家庭作業標籤現在已正式棄用](http://meta.stackexchange.com/questions/147100/the-homework-tag-is-now-officially-deprecated),應該不會被添加到問題 –

回答

1

有,你應該考慮幾件事情:

  1. im3 = im3(:,:,1) + 2;分配新的值img3變量,並使其成爲一個二維矩陣。你應該做im3(:,:,1) = im3(:,:,1) + 2;。在第三通道中將所有值增加2。
  2. 加法可能會導致比圖像的允許值更大的值。您可以考慮使用imadd
  3. 圖像變量通常爲double或類型uint8。如果值爲double,則這些值爲實數並且介於0和1之間。如果值爲unit8,則值爲0到255之間的整數。如果類型爲uint8,則加2是合理的,但不是類型是double。如果是的話,你應該增加2/255。您可以使用im2doubleim2uint8進行正確縮放的類型轉換。通過運行class(img)來了解img變量的類別。
+0

Thankyou,這一切都有意義,現在它只是一個簡單的大學作業,所以我只會使用原始矩陣。 – Callum