Я хочу перевести изображение так, чтобы пиксель (x, y) получал значение (x, y + 1) пикселя, а (x, mat.height) получал (x, 0) значение. Похоже, что обычный метод translate не поддерживает такую операцию. Есть ли способ сделать это быстрее, чем в этом коде?
for (int i = 0; i < map.size().width; i++) {
for (int j = 0; j < map.size().height; j++) {
if (j != map.size().height - 1) {
map.put(j, i, map.get(j + 1, i));
}else{
map.put(j, i, map.get(0, i));
}
}
}
Вот весь класс
public class Map3 extends Function {
// max = 254 at (136,380)
public Map3() {
InitMapFromFile();
}
@Override
public void InitMapFromFile() {
try {
map = Imgcodecs.imread("resources/map3.jpg");
} catch (Exception ex) {
System.out.println("Image load error");
System.exit(0);
}
}
@Override
public void UpdateMap() {
for (int i = 0; i < map.size().width; i++) {
for (int j = 0; j < map.size().height; j++) {
if (j != map.size().height - 1) {
map.put(j, i, map.get(j + 1, i));
}else{
map.put(j, i, map.get(0, i));
}
}
}
}
}