Scala微风:你能创建一个Int数组元素的密度矩阵吗



我刚刚发现Scala Breeze是一个用于Scala应用程序的高性能线性代数库。

我想知道是否有一种方法可以用Int数组作为元素单元初始化DenseMatrix。

这是我试图移植到Breeze:的OpenCV功能

val rgb_raw = Array[Byte] (....) //ByteArray RGB values dim 480x360
val rgb_mat = new Mat (360, 480, CvType.CV_8UC3)
rgb_mat.put(0,0,rgb_raw)

我希望它像一样简单

val rgb_mat = new DenseMatrix(360,480, rgb_raw)

val rgb_mat = new DenseMatrix[Array[Int,Int,Int]](360,480,rgb_raw)

我在文档中没有找到任何能为我指明正确方向的东西。

这适用于我的

import breeze.linalg.DenseMatrix
val range = 0 to 360*480
val arr = range map(_=>0.toByte)).toArray
new DenseMatrix(360,480, arr)
res27: breeze.linalg.DenseMatrix[Byte] = 
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  ... (480 total)
new DenseMatrix(360,480, range.toArray)
res28: breeze.linalg.DenseMatrix[Int] = 
0   360  720  1080  1440  1800  2160  2520  2880  3240  3600  ... (480 total)
val arrr = range.map(_=>arr).toArray
new DenseMatrix(360,480, arrr)
res31: breeze.linalg.DenseMatrix[Array[Byte]] = 
[B@30276fff  [B@30276fff  [B@30276fff  [B@30276fff  ... (480 total)

相关内容

  • 没有找到相关文章