来自无符号短阵列的OpenCV Mat

时间:2018-02-20 18:42:35

标签: c++ opencv

我有6400大小的无符号短阵列,对应于我想用OpenCV显示的80 * 80 16bit 1通道图像。

我创建了一个CV_16UC1 Mat,但我不知道如何从orignal unsigned short数组设置数据。

 (?m)                          # Multi-line mode 
 ^                             # BOL
 .* 
 (?:
      (?:                           # 2018 - 9999
           201 [89] 
        |  2 \d [2-9] \d 
        |  [3-9] \d{3} 
      )
      -                            
      (?: 0 [1-9] | 1 [0-2] )       # 01 - 12
      - 
      (?:                           # 01 - 31
           0 [1-9]                     
        |  [12] \d 
        |  3 [01] 
      )
   |                              # OR,

      2017                          # 2017
      -
      (?:
           12 -                          # 12    
           (?:                           # 01 - 31
                0 [1-9]                     
             |  [12] \d 
             |  3 [01] 
           )

        |                              # or,
           11 -                          # 11
           (?:                           # 06 - 31
                0 [6-9] 
             |  [12] \d 
             |  3 [01] 
           )
      )
 )
 $                             # EOL

1 个答案:

答案 0 :(得分:2)

您必须使用mat constructor,它将用户分配的缓冲区指示为CV_16UC1。

cv::Mat img(80, 80, CV_16UC1, img_data);