我正在尝试将 Python 代码转换为 Java。但是,我无法找到一种方法来创建样本来训练期望最大化,因为它应该是一个具有 2 个值(来自 HSV 颜色空间的 S 和 V)的单通道矩阵,如下所示:
- 第 0 行:S、V
- 第 1 行:S、V
- 第 2 行:S、V
- 第 3 行:S、V
在 Python 中,我能够做到以下几点:
def convert_to_samples(image, height, width):
samples = []
for y in range(0, height):
for x in range(0, width):
samples.append(image[y, x])
samples = np.float32(np.vstack(samples))
return samples
我尝试了以下但没有成功,因为结果不是 aMat
并且我找不到将其转换回来的方法。
public double[][] convert_to_samples(Mat image) {
double[][] samples = new double[image.height()][];
for(int i = 0; i < image.height(); i++) {
for(int j = 0; j < image.width(); j++) {
samples[i] = image.get(i, j);
}
}
return sortRowWise(samples);
}
private static double[][] sortRowWise(double[][] m) {
for (double[] values : m) Arrays.sort(values);
return m;
}
有人可以帮我改造垫子吗?