1
我有一個rgb圖像,我想在matlab中將像素值大於(r:175,g:255,b:55)更改爲Nan,How can我這樣做。請讓我知道如何更改matlab中rgb圖像的像素值
我有一個rgb圖像,我想在matlab中將像素值大於(r:175,g:255,b:55)更改爲Nan,How can我這樣做。請讓我知道如何更改matlab中rgb圖像的像素值
找到位置
sel = bsxfun(@eq, I, permute([175, 255, 55], [1 3 2]));
集楠
I(sel(:,:,[1 1 1])) = NaN;
特別注意:
您的圖片I
應該是浮點類型(double
或single
),否則你會無法使用NaN
(NaN
僅針對浮點類型定義)。但是,通常情況下,對於浮點圖像,RGB值的範圍介於0和1之間(而不是255)。所以,你可能想要比較[175 255 55]/255
而不是...
嗨,非常感謝,我嘗試過使用你的方法,但它只能將幾個像素轉換爲南,而不是全部,我的圖像最小和最大值爲0& 255,圖像大小爲50x68X3。它是一個PNG圖像 –
@ ankit.1g什麼是您的圖像的數據類型?它存儲爲'double','single'還是'uint8'? – Shai
嗨,圖像保存爲50x68x3 unit8 –