3

使用Scala Breeze 库

如何将 a breeze.linalg.DenseMatrixof Intvalues 的实例转换为 a DenseMatrixof Doubles (两个矩阵具有相同的维度)?

(我正在尝试在矩阵中获取图像/图片以使用 Breeze 进行图像处理)

4

2 回答 2

6

fotNelton 的回答有效。另一种选择是:

dm.mapValues(_.toInt)

或者

dm.values.map(_.toInt)

从 Breeze 0.6 开始,您还可以说:

convert(dm, Int)
于 2014-01-22T16:27:23.223 回答
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
于 2014-01-22T13:34:57.020 回答