我正在尝试将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
我尝试了以下方法,但没有成功,因为结果不是
Mat
我找不到办法把它改回来。
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;
}
有人能帮我把垫子换一下吗?