2013-10-08 73 views
12

OpenCV cv::Mat類型有什麼區別?OpenCV墊類型的區別

更具體地說,CV_64FCV_64FC1CV_64FC2之間的區別是什麼?當我創建一個具有double值的cv::Mat對象時,我應該使用哪一個?

回答

19

Cx部分顯示通道數量在圖像中。也就是說,CV_64FC1類型的圖像是簡單的灰度圖像和僅具有1個通道:

image[i, j] = 0.5 

CV_64F3類型的圖像是彩色的圖像與3個通道:

image[i, j] = (0.5, 0.3, 0.7) 

(在C++中可以檢查個人像素爲image.at<double>(i, j)

CV_64FCV_64FC1相同。所以,如果你只需要二維矩陣(即單通靈),你可以只使用CV_64F


編輯

更一般地,Mat對象的類型名稱由幾部分組成。這裏的例子爲CV_64FC1

  • CV_ - 這只是一個前綴
  • 64 - 每個基本矩陣元素(在BGR圖像中灰度級圖像或單色元件例如像素值)
  • F比特數 - 基本元素的類型。在這種情況下,它是F浮法,但也可以S(簽字)或U(簽名)
  • Cx - 通道的圖像數量,因爲我之前提到