我有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
答案 0 :(得分:2)
您必须使用mat constructor,它将用户分配的缓冲区指示为CV_16UC1。
cv::Mat img(80, 80, CV_16UC1, img_data);