0
我在閱讀matlab文檔中的rgb2hsv將返回一個m乘n乘3的圖像數組,但是當我調用它時,我得到一個1乘3的矢量。我誤解了什麼嗎? 下面是一個示例代碼:Matlab rgb2hsv尺寸
image_hsv = rgb2hsv('filepath')
和輸出
image_hsv =
0.7108 0.3696 92.0000
我在閱讀matlab文檔中的rgb2hsv將返回一個m乘n乘3的圖像數組,但是當我調用它時,我得到一個1乘3的矢量。我誤解了什麼嗎? 下面是一個示例代碼:Matlab rgb2hsv尺寸
image_hsv = rgb2hsv('filepath')
和輸出
image_hsv =
0.7108 0.3696 92.0000
不能調用rgb2hsv的文件路徑 - 它必須在MATLAB圖像矩陣被調用。嘗試:
image_rgb = imread('filepath'); % load the image array to MATLAB workspace
image_hsv = rgb2hsv(image_rgb); % convert this array to hsv
你可以看到這些矩陣有:
>> whos image* % display all variables whose name begins with 'image'
Name Size Bytes Class Attributes
image_hsv 480x640x3 7372800 double
image_rgb 480x640x3 921600 uint8
你的原代碼所做的就是將你的文件路徑字符串以ASCII碼,服用此數組的前三個值的RGB值和將其轉換爲HSV。
注意:本示例重點介紹了MATLAB弱輸入系統的危險性,其中數據類型從一種類型靜默轉換爲另一種類型。也可能缺少對rgb2hsv
函數的正確輸入檢查。