DMUG-Archiv 2020

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

[Dmug] Hygienemaske - Atemschutzmaske

Moin moin,

Menschen sehen ja nun auch einmal anders aus, mit den Masken. Wie könnte jemand mit Maske aussehen?

Man bezieht eine hübsche Maske von der Webseite eines Hersellers (calida-2.jpg).

Clear[calida2]
calida2 = Import[FileNameJoin[{"N:", "Udo", "Abt_N", "test", "calida-2.jpg"}], "JPG"]


Daraus könnte man mit dem mask tool

https:// reference.wolfram.com/language/workflow/ExtractARegionFromAnImage.html

die Maske ausschneiden, langweilig. Also


Clear[mask]
mask = SetAlphaChannel[calida2, ColorDetect[calida2, ColorsNear[Blue, .19]]]


HighlightImage[calida2, mask]


wegen der Suche nach Farben in der Nähe von Blau hat die Maske im Inneren Löcher (AlphaChannel = 0  bei Pixeln), was gerade dem Sinn der Maske zuwiderläuft. Zunächst muss die Maske extrahiert werden, dann aufgefüllt


Clear[bob]
bob = Select[ComponentMeasurements[Binarize[mask], "BoundingBox"], #[[2]] != {{.0, .0}, ImageDimensions[mask]} &];


Clear[m3]
m3 = ImageTake[mask, Sequence @@ Reverse[Transpose[List @@ Last[SortBy[Rectangle @@@ bob[[All, 2]], Area]]]]]


Clear[m4]

m4 = SetAlphaChannel[m3, FillingTransform[AlphaChannel[m3]]]


m4 ist die dichte maske (calida-2-mask.jpg), die nun platziert werden soll. Beziehen wir eine Bild des computational thinkers Stephen Wolfram (s-wolfram-1.jpg)


(* the computational thinker *)
sw1 = Import[FileNameJoin[{"N:", "Udo", "Abt_N", "test", "s-wolfram-1.jpg"}], "JPG"]


und Gesichtsmerkmale dieses Bildes


In[33]:= Clear[fafe]
fafe = FacialFeatures[sw1, {"NoseCenter", "OutlinePoints"}]

Out[34]= {<|"NoseCenter" -> {240.055, 357.305},
  "OutlinePoints" -> {{142.789, 392.305}, {142.789, 367.695}, {146.68,
      343.086}, {154.461, 318.477}, {166.133, 293.867}, {181.695,
     274.18}, {201.148, 264.336}, {220.602, 249.57}, {243.945,
     249.57}, {267.289, 249.57}, {290.633, 259.414}, {313.977,
     274.18}, {329.539, 298.789}, {341.211, 323.398}, {348.992,
     348.008}, {348.992, 377.539}, {348.992, 402.148}}|>}

In[35]:= Clear[nose]
nose = {fafe[[1, 1]]}

Out[36]= {{240.055, 357.305}}

In[37]:= Clear[bow]
bow = fafe[[1, 2]]

Out[38]= {{142.789, 392.305}, {142.789, 367.695}, {146.68,
  343.086}, {154.461, 318.477}, {166.133, 293.867}, {181.695,
  274.18}, {201.148, 264.336}, {220.602, 249.57}, {243.945,
  249.57}, {267.289, 249.57}, {290.633, 259.414}, {313.977,
  274.18}, {329.539, 298.789}, {341.211, 323.398}, {348.992,
  348.008}, {348.992, 377.539}, {348.992, 402.148}}


und platzieren die Maske (s-wolfram-masked.jpg):


HighlightImage[sw1, ImageMarker[Polygon[Join[nose, bow]], m4], DataRange -> Full]


grüsse

Udo.


Attachment: calida-2.jpg
Description: JPEG image

Attachment: calida-2-mask.jpg
Description: JPEG image

Attachment: s-wolfram-1.jpg
Description: JPEG image

Attachment: s-wolfram-1-masked.jpg
Description: JPEG image

_______________________________________________
DMUG Deutschsprachiges Mathematica-Forum demug@XXXXXXX.ch
http://www.mathematica.ch/mailman/listinfo/demug
Archiv: http://www.mathematica.ch/archiv.html
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html