One way to do this is to use DominantColors
as follows.
im = Import["http://pngimg.com/upload/small/apple_PNG12438.png"];
res = DominantColors[im, Automatic, {"Count", "Color"}]
To be sure if the reddish color is indeed the eatable part of the apple check this.
eatable=DeleteSmallComponents@First@DominantColors[i, Automatic, "CoverageImage"]
Now the exact eatable part can be recovered as the first entry of the output.
DominantColors[eatable, Automatic, {"Count", "Color"}]
{152709, 109435}
Now what the OP wanted!
positions = ImageValuePositions[ColorNegate@EdgeDetect@eatable, 0];
apple = Graphics[
FilledCurve[Line[positions[[Last@FindShortestTour[positions]]]]]] //
DiscretizeGraphics[#, MaxCellMeasure -> 0.1] &
And we can get the area..
{Area[apple], NIntegrate[1, {x, y} [Element] apple]}
{152615.,152615.}
But who eats a 2D apple..
But we can also make a 3D apple and calculate how much surface we need to munch.
pts = positions[[Last@FindShortestTour[positions]]];
par = BSplineFunction[ExponentialMovingAverage,TranslationTransform[-Mean@pts] /@ pts, .25],
SplineClosed -> True, SplineDegree -> 2];
ap = RevolutionPlot3D[{First@par[t], Last@par[t], t}, {t, 0, 1},RevolutionAxis -> {0, 1, 0},
PlotPoints -> 60, MaxRecursion -> 3,Mesh -> None, Boxed -> False, Axes->False];
appleColor = res[[1, 2]];
apple3D = DiscretizeGraphics[
Cases[Normal@ap, _GraphicsGroup, -1][[1]],
MeshCellStyle -> {{2, All} ->
Directive[res[[1, 2]], Specularity[White, 20],
Glow[Darker[appleColor, .5]], Lighting -> "Neutral"],
{1, All} -> Directive[Thin, Darker@res[[1, 2]]]}
]
And here goes the surface/munching area with some dimensional info..
{RegionDimension@apple3D,RegionEmbeddingDimension@apple3D,IntegerPart[RegionMeasure@apple3D]}
{2, 3, 1450102}
-
Физика
Предыдущий вопрос
Следующий вопрос
zeropat20
4 года назад
Ответ
Ответ дан
thebestamigo
надеюсь хоть как-то помогла
Ответы и объяснения
- zeropat20
Не тот ответ, который тебе нужен?
Найди нужный
Физика,
вопрос задал zeropat20,
5 лет назад
Ответы на вопрос
Ответил thebestamigo
0
надеюсь хоть как-то помогла
Приложения:
Предыдущий вопрос
Следующий вопрос
Новые вопросы
Математика,
9 месяцев назад
СРОЧНО!!!!!!ОЧЕНЬ НАДО БЕЗ ОБЪЯСНЕНИЙ МАКСИМАЛЬНО БЫСТРО!!!!
Литература,
9 месяцев назад
Написать мини-сочинение: что есть детство в понимании Л.Н.Толстого? (минимум 70 слов)…
Алгебра,
5 лет назад
раздложите на множатели 1)х^3-100х…
География,
5 лет назад
Характеристика ЮАР? Географическая и экономическая…
Алгебра,
7 лет назад
х квадрат – ху + 0,25 в квадрате при х=-16 у=-22…
Математика,
7 лет назад
на детской площадке отдыхали 25 детей и 16 взрослых. после обеда осталось 28 человек. сколько человек покинули площадку до обеда.
OBRAZOVALKA.COM
OBRAZOVALKA.COM – образовательный портал
Наш сайт это площадка для образовательных консультаций, вопросов и ответов для школьников и студентов .
На вопросы могут отвечать также любые пользователи, в том числе и педагоги.
Консультацию по вопросам и домашним заданиям может получить любой школьник или студент.