使用Scala Breeze 库 :
如何将 a breeze.linalg.DenseMatrix
of Int
values 的实例转换为 a DenseMatrix
of Double
s (两个矩阵具有相同的维度)?
(我正在尝试在矩阵中获取图像/图片以使用 Breeze 进行图像处理)
使用Scala Breeze 库 :
如何将 a breeze.linalg.DenseMatrix
of Int
values 的实例转换为 a DenseMatrix
of Double
s (两个矩阵具有相同的维度)?
(我正在尝试在矩阵中获取图像/图片以使用 Breeze 进行图像处理)
fotNelton 的回答有效。另一种选择是:
dm.mapValues(_.toInt)
或者
dm.values.map(_.toInt)
从 Breeze 0.6 开始,您还可以说:
convert(dm, Int)
您可以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