日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机视觉之OpenCV教程 --- Mat图像类基础(二)

發布時間:2024/4/30 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机视觉之OpenCV教程 --- Mat图像类基础(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

機器視覺之OpenCV教程圖像容器Mat類基礎一(二)

一、Mat像素點的存儲方法

  • 色彩空間是指我們通過組合顏色分量來對各種顏色編碼
  • 灰度圖像: 從黑到白 ,逐漸過渡 , 劃分成若干灰度級別
  • 彩色圖像RGB模型: rgb是最常用的顏色模型 , 人類就是這樣感知 光線的 , 在OpenCV中通道順序是(blue 、 green 、 red)。
  • 彩色圖像HSV和 HLS模型:是更貼近自然的顏色模型
  • 彩色圖像YCrCB模型: 通常在JPEG圖像中
  • CIE*a*b模型是一種感官 均勻的色彩空間 , 當我們要度量色彩之間的距離時通常會使用到。
  • 每一種色彩空間的顏色分量都有他各自 的取值范圍 , 不同的范圍要用到不同的位寬的數字來存儲 , 這就引出了Mat的數據類型
    7
  • 二、Mat數據類型

  • 最小的數據類型是char , 也就是一個字節8bits , 他的取值范圍是 【-128~127】。在灰度圖像和RGB圖像中 , 一般用無符號8位 , 即uchar類型 , 求值范圍是【0~255】 , 這樣 在RGB色彩空間中 , 可以有255^3中不同的顏色(16581375種)。
  • Mat中 CV_8u 表示無符號char類型
  • CV_8S 表示有符號char類型
  • CV_16U 表示無符號short類型
  • CV_32F 表示對應的float類型
  • 采取的Mat數據類型要與圖像的信息相對應 , 否則會出異常
  • 三、顯式的創建Mat對象

  • Mat可以當做存放圖像的容器, 也可以當做一個矩陣類來存放和操作任意的矩陣
  • 二維的Mat可以直接使用輸出流輸出 。
  • 創建一個Mat

    二維矩陣 Mat m(行數 , 列數 , 數據存儲格式C通道數 , 定義bgr作為所有像素的初始值) 三維矩陣 int[] sz = {2,2,2} Mat m(維度, sz , 數據存儲格式C通道數 ,定義bgr作為所有像素的初始值 )
  • 使用 create函數顯示的創建一個Mat對象
  • 使用create函數, 無法初始化 , 如果有新的需求跟原來的內存塊不匹配 , 才會重新分配內存區域, 可以減少開辟內存Dev動作 , 提升效率。
  • 克隆矩陣的一部分

  • 創建 一個 新的矩陣頭 , 然后將已經存在的矩陣的一部分拷貝進去 。

    Mat mm = m.row(1).clone(); 只拷貝矩陣第二行
  • 使用Randu隨機函數填充 一個隨機矩陣

    Mat m = Mat(3,2,CV_8U3); randu(R , 行范圍 , 列范圍);
  • 總結

    以上是生活随笔為你收集整理的计算机视觉之OpenCV教程 --- Mat图像类基础(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。