Вы можете использовать подход pixsets (в пакете imager ), чтобы идентифицировать края окружности на данном изображении следующим образом:
px <- im > 0.6 #Select pixels of the circle (i.e., those with high luminance)
plot(px)
Теперь, когда вы строите график px
, вы получаете следующее:
Чтобы получить координаты пикселей, используйте следующее:
coord <- where(px)
head(coord)
, который дает вам что-то вроде этого:
# x y cc
#1 1 1 1
#2 2 1 1
#3 3 1 1
#4 4 1 1
#5 5 1 1
#6 6 1 1
Чтобы получить границы, вы используете следующее:
boundaries <- boundary(px)
boundaries.xy <- where(boundaries)
head(boundaries.xy)
, что дает вам следующее:
# x y cc
#1 103 64 1
#2 102 65 1
#3 104 65 1
#4 103 66 1
#5 185 71 1
#6 184 72 1
Вы можете даже сохранить пиксели круга следующим образом:
px_image <- as.cimg(px)
save.image(px_image, "px_image.jpg")
Надеюсь, это поможет.