public Imagen traslacion(Imagen imgFuente, double factX, double factY) {
        Imagen imgResultado = new Imagen();
        imgResultado = imgFuente.clone();
        
        short[][] matrizResultado = new short[imgFuente.getN()][imgFuente.getM()];
        short[][] matrizFuente = imgFuente.getMatrizGris();
        
        if(imgFuente.getFormato().equals("P2")) {
            for(int i = 0; i < matrizFuente.length; i++) {
                for(int j = 0; j < matrizFuente[0].length; j++) {
                    int iPrima = (int)(i + factX);
                    int jPrima = (int)(j + factY);
                    short pixelFuente = matrizFuente[i][j];
                    if(iPrima < 0) {
                        iPrima = 0;
                    }
                    if(jPrima < 0) {
                        jPrima = 0;
                    }
                    if(iPrima < matrizFuente.length && jPrima < matrizFuente[0].length) {
                        matrizResultado[iPrima][jPrima] = pixelFuente;
                    }
                }
            }
        }
        
        imgResultado.setMatrizGris(matrizResultado);
        
        return imgResultado;
    }