我有以下方法:
private void rotate_image(boolean right) {
if(image != null) {
if(right) {
this.degrees -= 0.005;
}
else {
this.degrees += 0.005;
}
AffineTransform transform = new AffineTransform();
transform.rotate(this.degrees, original_image.getWidth()/2, original_image.getHeight()/2);
AffineTransformOp op = new AffineTransformOp(transform, AffineTransformOp.TYPE_BICUBIC);
this.image = op.filter(original_image, null);
}
}
图片为黑白图片,表示其像素为0或255.
“image”和“original_image”是BufferedImage类型。
我希望将它旋转一小段直到达到某个位置。
旋转工作正常,但是......它用“噪音”填充我的图像 - 像素不是0或255并且在原始图像中不存在。所以它失去了一些原有的特征。
我稍后需要分析每个像素,我非常感谢Java中有一种方法可以旋转我的图像,但保留了更多的原始方面。
这两个图片的链接很好地展示了我的意思。它是旋转前后图像中一小部分的像素网格:
之前的图片:http://s13.postimg.org/3yvak746b/before1.png
图片之后:http://s13.postimg.org/b0t86e7s3/after1.png
那么,有什么想法吗?
提前非常感谢!