Сдвиг изображения по энциклопедии (перевод) - PullRequest
0 голосов
/ 29 апреля 2020

Я хочу перевести изображение так, чтобы пиксель (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));
                }
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...