如何将breeze.linalg.DenseMatrix
个Int
值的实例转换为DenseMatrix
Double
个(两个矩阵具有相同的维度)?
(我正在尝试使用Breeze在矩阵中获取图像/图片)
答案 0 :(得分:5)
fotNelton的答案有效。另一种选择是:
dm.mapValues(_.toInt)
或
dm.values.map(_.toInt)
从Breeze 0.6开始,你也可以说:
convert(dm, Int)
答案 1 :(得分:2)
您可以使用DenseMatrix.tabulate
:
scala> val dm = DenseMatrix((1.0, 2.0), (3.0, 4.0))
dm: breeze.linalg.DenseMatrix[Double] =
1.0 2.0
3.0 4.0
scala> val im = DenseMatrix.tabulate(dm.rows, dm.cols)(dm(_,_).toInt)
im: breeze.linalg.DenseMatrix[Int] =
1 2
3 4