Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 连接组件标签_Java_Image Processing - Fatal编程技术网

Java 连接组件标签

Java 连接组件标签,java,image-processing,Java,Image Processing,我的任务是使用连接的组件标签对相似的像素进行分组,并为它们指定一个唯一的int标签,最后导出图像中对象的总体计数 这将在我使用适当的阈值算法和值将给定图像从灰色图像转换为二值图像后完成。我已经这样做了 我的问题是在连接组件标签中,我是否可以使用我已有的将灰色图像转换为二进制图像的程序来计算对象?如果是,我会标记高于阈值的对象吗?如您所述,您应该使用双通道连接组件标记算法。具有4连接性或8连接性。可以在上找到关于该算法的简单说明,包括伪代码,所有这些都应该相当直接地翻译成Java 您应该从这里开始

我的任务是使用连接的组件标签对相似的像素进行分组,并为它们指定一个唯一的int标签,最后导出图像中对象的总体计数

这将在我使用适当的阈值算法和值将给定图像从灰色图像转换为二值图像后完成。我已经这样做了


我的问题是在连接组件标签中,我是否可以使用我已有的将灰色图像转换为二进制图像的程序来计算对象?如果是,我会标记高于阈值的对象吗?

如您所述,您应该使用双通道连接组件标记算法。具有4连接性或8连接性。可以在上找到关于该算法的简单说明,包括伪代码,所有这些都应该相当直接地翻译成Java

您应该从这里开始,如果您有任何具体的实现问题,例如“如何检查相邻像素值?”,您应该将问题发布在StackOverflow上。像“显示算法X的代码”这样的问题过于笼统,无法提供简洁的答案。即使我尝试过,答案也不会像维基百科条目那样简单、说明性或解释性


我希望这会有所帮助,如果您对具体实施细节有任何疑问,请返回。

您能进一步澄清这个问题吗?不太清楚你在问什么。我想知道如何实现连接组件标签来计算图像中对象的数量。我更新了我的问题,让它更清楚。我已经通过复制imageOne的像素并对其进行操作,将图像从灰度设置为二进制,现在使用imageOne的像素(二进制),我想对连接的组件进行标记…请帮助我,我不知道如何开始,我知道我必须一次从左到右,从上到下扫描每个像素的图像。但我不知道如何检查邻居,如何给他们贴标签@RyanCarlsonmy问题从PNGImage imageThree=新PNGImage(imageTwo.getWidth(),imageTwo.getHeight()),在我从imageTwo中复制像素后,我不知道该做什么我如何知道像素是前景还是背景?…我正在尝试第一次通过atm…:)我如何分配标签?…如果(imageTwo.getRed(x-1,y)==imageTwo.getRed(x,y)){那么如何分配标签?代码中的阈值设置将所有低于阈值的值设置为255。然后我假设暗像素表示原始图像中的前景?我假设
imageThree
是标签图像。然后您只需将
imageThree
中的当前位置设置为标签值,例如
imageThree.setRGB(x,y,label,label,label)
。您还需要跟踪相等的标签。请注意,在Wikipedia页面上的条件检查中,第一个和第二个条件检查的顺序似乎不正确。有关详细信息,请参阅。