天天看點

OpenCV-圖像的表示(java版)

@​​TOC​​

前言

前面了解了圖像的建立,下面了解下圖像的表示。這個對于圖像的操作也是至關重要的。

1.圖像的表示

這個在上一節中已經大概提了一下,說白了。圖像由矩陣,矩陣元素值,通道組成。

 一般來說,灰階圖用 2 維矩陣表示,彩色圖像用 3 維矩陣(M × N × 3)表示。對于圖像顯示來說,目前大部分裝置都是用無符号 8 位整數(類型為 CV_8U)表示像素亮度。

    圖像資料在計算機記憶體中的存儲順序為以圖像最左上點(也可能是最左下點)開始,存儲如下圖所示

l0 0 l0 1 ... l0 N-1
l1 0 l1 1 ... l1 N-1
... ... ... ...
lM-1 0 lM-1 1 ... lM-1 N-1

     表示第 行 列的像素值。如果是多通道圖像,比如 RGB 圖像,則每個像素用三個位元組表示。在 OpenCV 中,RGB 圖像的通道順序為 BGR ,存儲如下

...
...
... ... ... ... ... ... ...

2.示例

執行下面的示例

Mat mat = new Mat(5,5, CvType.CV_8UC3,new Scalar(0,255,0));
        System.out.println(mat.dump());