相关疑难解决方法(0)

R:计算图片中的对象

我目前正在研究一个问题,我使用图片构建分类器来预测结果.基本上,我有一个图片上的对象(一个或几个),我想识别它们.因为我可以有一个或多个对象(并不总是相同),我首先想要计算我的图片上有多少个对象.我不想运行任何机器学习算法,我想尽可能快地做到这一点.

运行k-means(使用颜色)使我能够将图片分成2个颜色组,这使得背景和对象之间已经有了很好的分离.从这张图片中我想找到一种方法来计算所有不同的"区域".我尝试使用颜色和位置来运行k-means以尝试一步完成所有操作,但由于向kmeans添加位置会降低其结果,因此效果不佳.

这是一个图片的例子,一旦用kmeans将它分成两个颜色区域:

背景中的对象

显然这里有5个对象和一个背景.或者,或者,6个不同的区域.

我想做的是在该图片上运行一个算法,告诉我这个数字.我不熟悉图像处理,所以我想不出快速有效的方法.我想到的一个解决方案是从对象类中获取一个像素,并测试相邻像素是属于同一个类还是实际上是背景类的一部分.但这将是一个痛苦的漫长的做事方式.

我尝试过blob识别,但看起来这个算法并不适合我需要的东西.

我很想知道如何解决这类问题.我不介意自己编写算法代码,但我也有兴趣知道是否有R软件包能够轻松实现这类功能.

我希望一切都清楚.非常感谢你提前!

algorithm r image

7
推荐指数
1
解决办法
2108
查看次数

二进制矩阵中1的簇群

我正在寻找围绕所有1s和0s 创建集群。与Mindsweeper相似,我想基本上在所有1s 周围“画一个圆” ,并在0s存在的地方创建边框。

我尝试使用hclust()和创建距离矩阵,但是我正在使用的实际表非常大,并且运行时遇到了问题。

test_matrix  <- matrix(c( 1,1,0,0,0,0,1,     
                          1,1,1,0,0,1,0,
                          0,1,0,0,0,1,0,
                          0,0,0,1,1,1,0,
                          0,0,0,1,1,1,1),nrow=5)
Run Code Online (Sandbox Code Playgroud)

结果如下:

     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,]    1    0    0    1    0    1    0
[2,]    1    1    0    0    0    1    1
[3,]    0    1    1    0    0    0    1
[4,]    0    1    0    0    0    0    1
[5,]    0    1    0    1    1    0    1
Run Code Online (Sandbox Code Playgroud)

我的规则如下:如果通过UP,DOWN,LEFT,RIGHT,DIAGONAL(任何方向)1将任何一个连接到任何1一个,请继续增加“集群”。根据这些规则(每个点有8个连接点),我可以发现四个孤立1s的唯一簇。

您将如何编码以找到这些组?

binary r matrix

7
推荐指数
1
解决办法
343
查看次数

标签 统计

r ×2

algorithm ×1

binary ×1

image ×1

matrix ×1