private static BufferedImage register(BufferedImage img) {
		int tx = img.getWidth()/2;
		int ty = img.getHeight()/2;
        AffineTransform at = new AffineTransform();
        at.translate(tx, ty);
        at.rotate(Math.PI/4);
        at.translate(-tx, -ty);
        AffineTransformOp op = new AffineTransformOp(at,AffineTransformOp.TYPE_BICUBIC);
        img = op.filter(img, null);
		int topSiberia = 120;//65.04
		int bottomEngland = 408;//50.788
		int leftCanada = 27;//57
		int rightRussia = 240;//75.5
        img = img.getSubimage(leftCanada, topSiberia, rightRussia-leftCanada+1,bottomEngland-topSiberia+1);
		for(int x=0;x<img.getWidth();x++)
			for(int y=0;y<img.getHeight();y++){
				Color color = new Color(img.getRGB(x, y));
				if(color.getBlue()<200 || y>270){
					img.setRGB(x, y, new Color(255,0,0,0).getRGB());
				}
			}
		return img;
	}