Я пытаюсь преобразовать код Python в Java. Однако я не могу найти способ создать образец для обучения максимизации ожидания, так как он должен быть одноканальной матрицей с 2 значениями (S и V из цветового пространства HSV), как показано ниже:
- строка 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;
}
Может ли кто-нибудь помочь мне преобразовать коврик?