当前位置:   article > 正文

java bufferedimage byte_使用BufferedImage.TYPE_BYTE_BINARY作为输出进行Sobel边缘检测

bufferedimage.type

我正在做一个学校作业,我们应该对图像进行索贝尔边缘检测 . 我们应该用sobel核心进行卷积,然后计算每个像素的梯度幅度 . 之后,我们应该使用阈值方法为像素提供值255(白色)或0(黑色),具体取决于阈值 . 边缘检测 must 的输出图像属于 BufferedImage.TYPE_BYTE_BINARY 类型 . 我使用灰度图像作为输入,但结果看起来非常奇怪..它绝对不会检测到边缘 .

我google了一下,设法找到工作代码(here,看到标记的正确答案),但是,这里的输出图像是BufferedImage.TYPE_INT_RGB类型,这是不允许的...在这个问题中,也使用BufferedImage . TYPE.INT.RGB作为边缘检测的输入 .

非常感谢帮助解决这个问题!

Result when I execute the program. The edge detection result is on the far right.

ys9vv.png

What the edge detection result should look like.

jvOan.png

My code:

/**

* turns an image to a grayscale version of the image

*/

public void alterImageGrayScale() throws IOException {

im

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/604368
推荐阅读
相关标签
  

闽ICP备14008679号