簡體   English   中英

將RGB圖像轉換為Matlab中的兩倍

[英]convert RGB image to double in matlab

為什么在應用將rgb轉換為ycbcr的轉換公式之前將rgb圖像轉換為雙精度?

rgb = im2double(in);

% These equations transform RGB in [0,1] to YCBCR in [0, 255]
out(:,:,1) = 16 + 65.481 * rgb(:,:,1) + 128.553 * rgb(:,:,2) + 24.966 * rgb(:,:,3);
out(:,:,2) = 128 - 37.797 * rgb(:,:,1) - 74.203 * rgb(:,:,2) + 112 * rgb(:,:,3);
out(:,:,3) = 128 + 112 * rgb(:,:,1) - 93.786 * rgb(:,:,2) -18.214 * rgb(:,:,3);

im2double將RGB圖像從0-255范圍縮放到0-1范圍,這是轉換方程式所需的。

另外,圖像應為雙格式,而不是uint8,這樣在計算過程中不會損失精度。 如果圖像不是兩倍,結果將被四舍五入,並且精度會降低。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM