首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用im4java对图像进行二值化?

如何使用im4java对图像进行二值化?
EN

Stack Overflow用户
提问于 2014-09-04 11:54:50
回答 2查看 522关注 0票数 0

我想将我的彩色图像转换成B&W。基本上,我想调用这个ImageMagick命令:

代码语言:javascript
复制
convert input.png -threshold 80% output.png

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

代码语言:javascript
复制
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?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-08 13:49:18

显然,我需要使用blackThreshold

代码语言:javascript
复制
op.blackThreshold(80.0, true);

我不确定它是否等同于我指定的ImageMagick命令,输出看起来有点不同,但实际上它给了我所需的东西。

票数 0
EN

Stack Overflow用户

发布于 2014-09-04 14:50:35

在这种情况下,您将考虑其他Java框架。使用Marvin图像处理框架:

代码语言:javascript
复制
MarvinImage image = MarvinImageIO.loadImage('image.jpg');
blackAndWhite(image, 30);

关于不同BW级别的输出的示例:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25664823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档