【问题标题】:How to binarize image using im4java?如何使用 im4java 对图像进行二值化?
【发布时间】:2014-10-29 03:56:45
【问题描述】:

我想把我的彩色图像变成黑白。 基本上,我想调用这个 ImageMagick 命令:

convert input.png -threshold 80% output.png

但使用 im4java 库。我知道 IMOperation.threshold() 方法,但我不知道如何使用该方法编写上述命令的等效项。方法重载:

threshold() 

threshold(java.lang.Integer red) 

threshold(java.lang.Integer red, java.lang.Integer green) 

threshold(java.lang.Integer red, java.lang.Integer green, java.lang.Integer blue)

threshold(java.lang.Integer red, java.lang.Integer green, java.lang.Integer blue,
  java.lang.Integer opacity) 

threshold(java.lang.Integer red, java.lang.Integer green, java.lang.Integer blue,
  java.lang.Integer opacity, java.lang.Boolean percent) 

我尝试使用不同的值作为参数调用方法的不同重载,但它们都没有产生好的结果(我通常得到全白图像或全黑图像)。

那么“阈值 80%”的 im4java 等价物是什么?

【问题讨论】:

    标签: java image-processing colors imagemagick im4java


    【解决方案1】:

    显然,我需要使用blackThreshold

    op.blackThreshold(80.0, true);
    

    我不确定它是否等同于我指定的 ImageMagick 命令,输出似乎有点不同,但出于所有实际目的,它可以满足我的需要。

    【讨论】:

      【解决方案2】:

      以防万一您正在考虑使用其他 Java 框架。使用 Marvin 图像处理框架:

      MarvinImage image = MarvinImageIO.loadImage('image.jpg');
      blackAndWhite(image, 30);
      

      不同 BW 级别的输出示例:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-27
        • 1970-01-01
        • 2021-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-11
        • 1970-01-01
        相关资源
        最近更新 更多