我正在使用 GraphicsMagic (并且有几个需要 GM 的绑定)。现在我必须通过 Seam Carving 算法重新缩放图像,该算法在 ImageMagic 中可通过 -liquid-rescale 选项使用,但在 GM 中缺失(不是吗?)。是否有任何选项可以同时安装 GM 和 IM 而不会发生冲突(在 Ubuntu 12.04 上),或者是否有任何其他命令行工具可以执行 SeamCarving/LiquidRescale?
我正在阅读有关用于调整图像大小的接缝雕刻的论文.
在第3页,他们在数学上定义了一个接缝,我需要帮助澄清它.
该论文称接缝是一条8连接的像素路径.如果像素不能在同一行上,怎么能连接8?不应该是3连接?
我正在尝试编写一个类来在 x 和 y 方向上缝合雕刻图像。x 方向正在工作,为了减少 y 方向,我想简单地将图像旋转 90° 并在已经重新缩放的图像上运行相同的代码(仅在 x 方向上),然后将其旋转回其初始状态。
我找到了一些东西AffineTransform并尝试了它。它实际上产生了一个旋转的图像,但弄乱了颜色,我不知道为什么。
这是所有的代码:
import java.awt.image.BufferedImage;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.io.File;
import java.io.IOException;
import javafx.scene.paint.Color;
import javax.imageio.ImageIO;
public class example {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
// TODO code application logic here
BufferedImage imgIn = ImageIO.read(new File("landscape.jpg"));
BufferedImage imgIn2 = imgIn;
AffineTransform tx = new AffineTransform();
tx.rotate(Math.PI/2, imgIn2.getWidth() / 2, imgIn2.getHeight() / 2);//(radian,arbit_X,arbit_Y)
AffineTransformOp op …Run Code Online (Sandbox Code Playgroud) java bufferedimage seam-carving image-rotation affinetransform