> 
 > 
4. Blocks Coding with Web App
Azure
Azure

The documentation covers various Azure services related to image and facial recognition, including object detection, face attributes, and verification capabilities.

Common

Receiving AI Result and Changing It to JsonValue

Get AI result as JsonValue

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_AiResult_getContentAsJsonValue\"><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></xml>"}

This block is used for getting the AI content result as Json Value. 

Parameters: AI Result (Object Detection from Azure)
Output: Json Value
Sample code:

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Azure_AiResult_getContentAsJsonValue\"><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value></block></value></block></value></block></xml>"}
{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://news.cgtn.com/news/77416a4e3145544d326b544d354d444d3355444f31457a6333566d54/img/37d598e5a04344da81c76621ba273915/37d598e5a04344da81c76621ba273915.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectObjects\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Azure_AiResult_getContentAsJsonValue\"><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyImageAnalysisResult\"><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

This is used for displaying the AI result.

Get AI result as JsonValue - Output

The output:

Get AI result as JsonValue - Output

References:

Object Detection

Object Detection Inside a Photo

Detect objects in image

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_detectObjects\"/></xml>"}

This block is used for Azure object detection for an image. 

Parameters: Screen Item (Image)
Output: AI Result (Object Detection from Azure)
Sample code:

This is used for detecting object and displaying the result. 

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://news.cgtn.com/news/77416a4e3145544d326b544d354d444d3355444f31457a6333566d54/img/37d598e5a04344da81c76621ba273915/37d598e5a04344da81c76621ba273915.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectObjects\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Azure_AiResult_getContentAsJsonValue\"><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value></block></value></block></value></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

The output:

Detect objects in image - Output
Get AI result as JsonValue - Output

References:

Putting Object Detection Result Inside Image

Apply object detection result on image

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_applyImageAnalysisResult\"/></xml>"}

This block is used for displaying the hollow square inside the image. 

Parameters:

  • AI Result (Object Detection from Azure)
  • Screen Item (Image)

Output: Image
Sample code:

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://news.cgtn.com/news/77416a4e3145544d326b544d354d444d3355444f31457a6333566d54/img/37d598e5a04344da81c76621ba273915/37d598e5a04344da81c76621ba273915.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectObjects\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyImageAnalysisResult\"><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

The output:

Apply object detection result on image - Output

References:

Checking Object Detection Including Keyword

Image Analysis contains

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_ImageAnalysisResult_hasObject\"><value name=\"imageAnalysisResult\"><block type=\"variables_get\"><field name=\"VAR\">imageAnalysisResult</field></block></value><value name=\"objName\"><shadow type=\"text\"><field name=\"TEXT\"/></shadow></value></block></xml>"}

This block is used to check whether the object detection result contains the corresponding keyword. 

Parameters:

  • AI Result (Object Detection from Azure)
  • Display setting: String

Output: Boolean (True/False)
Sample code:

Using an if-else condition to check whether the result contains cat. 

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_ImageAnalysisResult_hasObject\"><value name=\"imageAnalysisResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"objName\"><shadow type=\"text\"><field name=\"TEXT\">cat</field></shadow></value></block></value><statement name=\"DO0\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><shadow type=\"text\"><field name=\"TEXT\">This is a cat</field></shadow></value></block></value></block></statement><statement name=\"ELSE\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><shadow type=\"text\"><field name=\"TEXT\">This is not a cat</field></shadow></value></block></value></block></statement></block></xml>"}
{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>imageAnalysisResult</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://news.cgtn.com/news/77416a4e3145544d326b544d354d444d3355444f31457a6333566d54/img/37d598e5a04344da81c76621ba273915/37d598e5a04344da81c76621ba273915.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectObjects\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Azure_AiResult_getContentAsJsonValue\"><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyImageAnalysisResult\"><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_ImageAnalysisResult_hasObject\"><value name=\"imageAnalysisResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"objName\"><shadow type=\"text\"><field name=\"TEXT\">cat</field></shadow></value></block></value><statement name=\"DO0\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><shadow type=\"text\"><field name=\"TEXT\">This is a cat</field></shadow></value></block></value></block></statement><statement name=\"ELSE\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><shadow type=\"text\"><field name=\"TEXT\">This is not a cat</field></shadow></value></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

Since it detects the photo is a cat, therefore the output: 

Image Analysis contains - Output

References:

Face Detection

Masked Face Detection Using a Photo

Detect masked faces in image

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_detectMaskedFaces\"/></xml>"}

This block is used for masked face detection for an image. 

Parameters: Screen Item (Image)
Output: AI Result (Masked Face Detection from Azure)
Sample code:

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://ichef.bbci.co.uk/news/400/cpsprodpb/E907/production/_110755695_gettyimages-1202072951.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectMaskedFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Azure_AiResult_getContentAsJsonValue\"><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

The output:

Detect masked faces in image - Output

References:

Face Detection Using a Photo

Detect faces in image

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_detectFaces\"/></xml>"}

This is used for face detection for an image. 

Parameters: Screen Item (Image)
Output: AI Result (Face Detection from Azure)
Sample code:

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://thumbs.dreamstime.com/b/portrait-happy-older-white-man-wearing-glasses-handsome-red-174874786.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Azure_AiResult_getContentAsJsonValue\"><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

The output:

Detect faces in image - Output

References:

Putting Face Detection Result Inside Image

Apply face detection result on image

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation></block></xml>"}

This block is used for displaying the result using the hollow square inside the image. 

Parameters: 

  • AI Result (Face Detection from Azure)
  • Screen Item (Image)
  • Condition: age (Default)/emotion/gender/glasses/hair/smile/mask

Output: Image
Sample code:

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>maskResult</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://thumbs.dreamstime.com/b/portrait-happy-older-white-man-wearing-glasses-handsome-red-174874786.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">maskResult</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectMaskedFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"true\"></mutation><field name=\"attribute\">FaceAttribute.Age</field><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

When it does not contain any setting, the output: 

Apply face detection result on image - Normal Output

When it sets to age, the output: 

Apply face detection result on image - Age Output

When it sets to emotion, the output: 

Apply face detection result on image - Emotion Output

When it sets to gender, the output: 

Apply face detection result on image - Gender Output

When it sets to glasses, the output: 

Apply face detection result on image - Glasses Output

When it sets to hair, the output: 

Apply face detection result on image - Hair Output

When it sets to smile, the output: 

Apply face detection result on image - Smile Output

When it sets to mask, the output: 

Apply face detection result on image - Mask Output

References:

Counting Number of Faces Within a Range of Aged

Face Detection Result count faces aged

{"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_FaceDetectionResult_countAge\"><field name=\"operator\">ConditionalOperator.EqualTo</field><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">faceDetectionResult</field></block></value><value name=\"age\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></xml>"}

This block is used for counting the total number of face when it is within the age range. 

Parameters: 

  • AI Result (Face Detection from Azure)
  • Condition:
    • Operator: =(Default)/≠/</≤/>/≥
    • Number (Default: 0)

    Output: AI Result
    Sample code:

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>count</variable><variable>faceDetectionResult</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://images.theconversation.com/files/134086/original/image-20160815-15261-te69mp.jpg?ixlib=rb-1.1.0&amp;q=45&amp;auto=format&amp;w=926&amp;fit=clip</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">count</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_countAge\"><field name=\"operator\">ConditionalOperator.LargerThan</field><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"age\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Util_convertToText\"><value name=\"value\"><shadow type=\"math_number\" disabled=\"true\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\">count</field></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

     When set the face aged = 0, the output: 

    Face Detection Result count faces aged = 0 - Output

    When set the face aged =/= 0, the output: 

    Face Detection Result count faces aged not same as 0 - Output

    When set the face aged < 0, the output: 

    Face Detection Result count faces aged smaller than 0 - Output

    When set the face aged <= to 0, the output: 

    Face Detection Result count faces aged smaller than or equal to 0 - Output

    When set the face aged > 0, the output: 

    Face Detection Result count faces aged larger than 0 - Output

    When set the face aged >= 0, the output: 

    Face Detection Result count faces aged larger than or equal to 0 - Output

    References:

    Receiving Face Detection Results

    Face Detection Result get faces

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">faceDetectionResult</field></block></value></block></xml>"}

    This is used for getting faces result.  

    Parameters: AI Result (Face Detection from Azure)
    Output: AI Result
    Sample code:

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>faceDetectionResult</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://thumbs.dreamstime.com/b/portrait-happy-older-white-man-wearing-glasses-handsome-red-174874786.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    The output:

    Face Detection Result get faces - Output

    References:

    Counting Total Amount of Faces

    Face Detection Result count faces

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_FaceDetectionResult_count\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">faceDetectionResult</field></block></value></block></xml>"}

    This is used for counting faces in the image. 

    Parameters: AI Result (Face Detection from Azure)
    Output: AI Result
    Sample code:

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>getFaces</variable><variable>faceDetectionResult</variable><variable>label</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://images.theconversation.com/files/134086/original/image-20160815-15261-te69mp.jpg?ixlib=rb-1.1.0&amp;q=45&amp;auto=format&amp;w=926&amp;fit=clip</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">getFaces</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"true\"></mutation><value name=\"text\"><shadow type=\"text\"><field name=\"TEXT\"/></shadow></value></block></value><next><block type=\"Control_Label_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">getFaces</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\"/></shadow><block type=\"Util_convertToText\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_count\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"variables_get\"><field name=\"VAR\">getFaces</field></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    The output:

    Face Detection Result count faces - Output

    References:

    Face with Mask Property

    Checking Wearing Mask or Not

    Face get mask type

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_AiResult_getContentAsJsonValue\"><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></xml>"}

    This is used for detecting people are wearing mask or not. 

    Parameters: AI Result (Masked Face Detection from Azure)
    Output: AI Result
    Sample code:

    This is using a for loop to display more than one people wear mask. Also, using “get faces” block and “get value at 0” block for getting mask type. 

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"pxt_controls_for\"><value name=\"VAR\"><shadow type=\"variables_get_reporter\"><field name=\"VAR\">index</field></shadow></value><value name=\"TO\"><shadow type=\"math_whole_number\"><field name=\"NUM\">0</field></shadow><block type=\"math_arithmetic\"><field name=\"OP\">MINUS</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_count\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></value><statement name=\"DO\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"Azure_Face_getMaskType\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\">index</field></block></value></block></value></block></value></block></value></block></value></block></value></block></statement></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>index</variable><variable>face</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://image.shutterstock.com/image-photo/2-people-protective-masks-walking-260nw-1781747534.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectMaskedFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"pxt_controls_for\"><value name=\"VAR\"><shadow type=\"variables_get_reporter\"><field name=\"VAR\">index</field></shadow></value><value name=\"TO\"><shadow type=\"math_whole_number\"><field name=\"NUM\">0</field></shadow><block type=\"math_arithmetic\"><field name=\"OP\">MINUS</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_count\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></value><statement name=\"DO\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"Azure_Face_getMaskType\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\">index</field></block></value></block></value></block></value></block></value></block></value></block></value></block></statement><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    The output:

    Face get mask type - Output

    References:

    Checking Mask is Covering Nose and Mouth

    Face is nose and mouth covered

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_Face_isNoseAndMouthCovered\"><value name=\"face\"><block type=\"variables_get\"><field name=\"VAR\">face</field></block></value></block></xml>"}

    This is used for checking people are covering their nose and mouth or not.

    Parameters: AI Result (Masked Face Detection from Azure)
    Output: Boolean (True/False)
    Sample code:

    It is using an if-else condition to check whether something is covering the nose and mouth. 

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_Face_isNoseAndMouthCovered\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkNoseAndMouth</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">The nose and mouth is covered</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkNoseAndMouth</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">The nose and mouth is not covered</field></shadow></value></block></statement></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>checkNoseAndMouth</variable><variable>face</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://ichef.bbci.co.uk/news/400/cpsprodpb/E907/production/_110755695_gettyimages-1202072951.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectMaskedFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">checkNoseAndMouth</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation></block></value><next><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_Face_isNoseAndMouthCovered\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkNoseAndMouth</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">The nose and mouth is covered</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkNoseAndMouth</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">The nose and mouth is not covered</field></shadow></value></block></statement><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"variables_get\"><field name=\"VAR\">checkNoseAndMouth</field></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    When a person’s nose and mouth is covered, the output: 

    Face is nose and mouth covered - True Output

    When a person’s nose and mouth is covered, the output: 

    Face is nose and mouth covered - False Output

    References:

    Checking Blocks Contain Mask Attribute or Not

    Face has mask attribute

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_Face_hasMaskAttribute\"><value name=\"face\"><block type=\"variables_get\"><field name=\"VAR\">face</field></block></value></block></xml>"}

    This is used for checking the attribute contains detect mask faces in image or not.

    Parameters: AI Result (Masked Face Detection from Azure)
    Output: Boolean (True/False)
    Sample code:

    It is using an if-else condition to check it has mask attribute or not.

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_Face_hasMaskAttribute\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkMaskAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It has mask attribute.</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkMaskAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It doesn't have mask attribute.</field></shadow></value></block></statement></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>checkMaskAttribute</variable><variable>face</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://assets.entrepreneur.com/content/3x2/2000/20190502194704-ent19-june-editorsnote.jpeg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">checkMaskAttribute</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation></block></value><next><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_Face_hasMaskAttribute\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkMaskAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It has mask attribute.</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkMaskAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It doesn't have mask attribute.</field></shadow></value></block></statement><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"variables_get\"><field name=\"VAR\">checkMaskAttribute</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    When it contains “detect masked faces in image”, it should have mask attribute:

    Face has mask attribute - True Output

    When it contains “detect faces in image”, it should have no mask attribute:

    Face has mask attribute - False Output

    Face with Emotion Property

    Checking People’s Feelings

    Face get intensity of emotion

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_Face_getEmotionIntensity\"><value name=\"face\"><block type=\"variables_get\"><field name=\"VAR\">face</field></block></value><value name=\"name\"><shadow type=\"text\"><field name=\"TEXT\"/></shadow></value></block></xml>"}

    This is used for checking people emotion. 

    Parameters: 

    • AI Result (Face Detection from Azure)
    • Condition: String (anger/contempt/fear/disgust/happiness/neutral/sadness/surprise) 

    Output: Screen Item
    Sample code:

    Using “get faces” block and “get value at 0” block to get the intensity of emotion. 

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"variables_set\"><field name=\"VAR\">anger</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_Face_getEmotionIntensity\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value><value name=\"name\"><shadow type=\"text\"><field name=\"TEXT\">anger</field></shadow></value></block></value></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>anger</variable><variable>face</variable><variable>dateTimeOffset</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://thumbs.dreamstime.com/b/portrait-happy-older-white-man-wearing-glasses-handsome-red-174874786.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">anger</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_Face_getEmotionIntensity\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value><value name=\"name\"><shadow type=\"text\"><field name=\"TEXT\">anger</field></shadow></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"text_join\"><mutation items=\"2\"/><value name=\"ADD0\"><shadow type=\"text\"><field name=\"TEXT\">anger: </field></shadow></value><value name=\"ADD1\"><shadow type=\"text\"><field name=\"TEXT\"/></shadow><block type=\"DateTime_DateTimeOffset_toString\"><value name=\"dateTimeOffset\"><block type=\"variables_get\"><field name=\"VAR\">anger</field></block></value></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

     When setting it to anger, the output: 

    Face get intensity of emotion - Anger Output

    When setting it to contempt, the output: 

    Face get intensity of emotion - Contempt Output

    When setting it to disgust, the output: 

    Face get intensity of emotion - Disgust Output

    When setting it to fear, the output: 

    Face get intensity of emotion - Fear Output

    When setting it to happiness, the output: 

    Face get intensity of emotion - Happiness Output

    When setting it to neutral, the output: 

    Face get intensity of emotion - Neutral Output

    When setting it to neutral, the output: 

    Face get intensity of emotion - Neutral Output

    When setting it to sadness, the output: 

    Face get intensity of emotion - Sadness Output

    When setting it to surprise, the output: 

    Face get intensity of emotion - Surprise Output

    References:

    Name of Emotion

    Face get available emotion names

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_Face_getAvailableEmotionNames\"><value name=\"face\"><block type=\"variables_get\"><field name=\"VAR\">face</field></block></value></block></xml>"}

    This is used for getting all the emotion names. 

    Parameters: AI Result (Face Detection from Azure)
    Output: AI Result
    Sample code:

    Using a for loop to display all the available emotion names. 

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"pxt_controls_for\"><value name=\"VAR\"><shadow type=\"variables_get_reporter\"><field name=\"VAR\">index</field></shadow></value><value name=\"TO\"><shadow type=\"math_whole_number\"><field name=\"NUM\">0</field></shadow><block type=\"lists_length\"><value name=\"VALUE\"><block type=\"variables_get\"><field name=\"VAR\">emotion</field></block></value></block></value><statement name=\"DO\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"variables_get\"><field name=\"VAR\">emotion</field></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\">index</field></block></value></block></value></block></value></block></statement></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>emotion</variable><variable>index</variable><variable>face</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://thumbs.dreamstime.com/b/portrait-happy-older-white-man-wearing-glasses-handsome-red-174874786.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">emotion</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_Face_getAvailableEmotionNames\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><next><block type=\"pxt_controls_for\"><value name=\"VAR\"><shadow type=\"variables_get_reporter\"><field name=\"VAR\">index</field></shadow></value><value name=\"TO\"><shadow type=\"math_whole_number\"><field name=\"NUM\">0</field></shadow><block type=\"lists_length\"><value name=\"VALUE\"><block type=\"variables_get\"><field name=\"VAR\">emotion</field></block></value></block></value><statement name=\"DO\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"variables_get\"><field name=\"VAR\">emotion</field></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\">index</field></block></value></block></value></block></value></block></statement><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    The output:

    Face get available emotion names - Output

    References:

    Checking blocks contain Emotion Attribute or Not

    Face has emotion attribute

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_Face_hasEmotionAttribute\"><value name=\"face\"><block type=\"variables_get\"><field name=\"VAR\">face</field></block></value></block></xml>"}

    This is used for checking whether the blocks contain emotion attribute. 

    Parameters: AI Result (Face Detection from Azure)
    Output: Boolean (True/False)
    Sample code:

    It is using an if-else condition to check it contains emotion attribute or not. 

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_Face_hasEmotionAttribute\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkEmotionAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It has emotion attribute</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkEmotionAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It doesn't have emotion attribute</field></shadow></value></block></statement></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>checkEmotionAttribute</variable><variable>face</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://thumbs.dreamstime.com/b/portrait-happy-older-white-man-wearing-glasses-handsome-red-174874786.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">checkEmotionAttribute</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation></block></value><next><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_Face_hasEmotionAttribute\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkEmotionAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It has emotion attribute</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkEmotionAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It doesn't have emotion attribute</field></shadow></value></block></statement><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"variables_get\"><field name=\"VAR\">checkEmotionAttribute</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    When it contains block “detect faces in image”, it should have emotion attribute:  

    Face has emotion attribute - True Output

    When it contains “detect masked faces in image”, it should have no emotion attribute: 

    Face has emotion attribute - False Output

    Face with Glasses Property

    Checking People Wear Glasses or Not

    Face get glasses

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_Face_getGlasses\"><value name=\"face\"><block type=\"variables_get\"><field name=\"VAR\">face</field></block></value></block></xml>"}

    This is used for checking the face contains glasses or not. 

    Parameters: AI Result (Face Detection from Azure)
    Output: AI Result
    Sample code:

    Using a for loop to display all the result of “get glasses”. 

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"pxt_controls_for\"><value name=\"VAR\"><shadow type=\"variables_get_reporter\"><field name=\"VAR\">index</field></shadow></value><value name=\"TO\"><shadow type=\"math_whole_number\"><field name=\"NUM\">0</field></shadow><block type=\"math_arithmetic\"><field name=\"OP\">MINUS</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_count\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></value><statement name=\"DO\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"Azure_Face_getGlasses\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\">index</field></block></value></block></value></block></value></block></value></block></value></block></value></block></statement></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>index</variable><variable>face</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://pbs.twimg.com/media/CQG1slyWIAASBJX.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"pxt_controls_for\"><value name=\"VAR\"><shadow type=\"variables_get_reporter\"><field name=\"VAR\">index</field></shadow></value><value name=\"TO\"><shadow type=\"math_whole_number\"><field name=\"NUM\">0</field></shadow><block type=\"math_arithmetic\"><field name=\"OP\">MINUS</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_count\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></value><statement name=\"DO\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"Azure_Face_getGlasses\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\">index</field></block></value></block></value></block></value></block></value></block></value></block></value></block></statement><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    The output:

    Face get glasses - Output

    References:

    Checking blocks contain Glasses Attribute or Not

    Face has glasses attribute

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_Face_hasGlassesAttribute\"><value name=\"face\"><block type=\"variables_get\"><field name=\"VAR\">face</field></block></value></block></xml>"}

    This is used for checking whether the blocks contain glasses attribute. 

    Parameters: AI Result (Face Detection from Azure)
    Output: Boolean (True/False)
    Sample code:

    It is using an if-else condition to check it contains glasses attribute or not. 

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_Face_hasGlassesAttribute\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkGlassesAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It has glasses attribute.</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkGlassesAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It doesn't have glasses attribute.</field></shadow></value></block></statement></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>checkGlassesAttribute</variable><variable>face</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://image.shutterstock.com/image-photo/2-people-protective-masks-walking-260nw-1781747534.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">checkGlassesAttribute</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation></block></value><next><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_Face_hasGlassesAttribute\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkGlassesAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It has glasses attribute.</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkGlassesAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It doesn't have glasses attribute.</field></shadow></value></block></statement><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"variables_get\"><field name=\"VAR\">checkGlassesAttribute</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    When set the result to “detect faces in image”, it should have glasses attribute:  

    Face has glasses attribute - True Output

    When set the result to “detect masked faces in image”, it should have no emotion attribute: 

    Face has glasses attribute - False Output

    Face with Gender Property

    Detecting People are Boys or Girls

    Face get gender

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_Face_getGender\"><value name=\"face\"><block type=\"variables_get\"><field name=\"VAR\">face</field></block></value></block></xml>"}

    This is used for checking people is male or female. 

    Parameters: AI Result (Face Detection from Azure)
    Output: AI Result
    Sample code:

    Using a for loop to display all the result of “get gender”. 

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"pxt_controls_for\"><value name=\"VAR\"><shadow type=\"variables_get_reporter\"><field name=\"VAR\">index</field></shadow></value><value name=\"TO\"><shadow type=\"math_whole_number\"><field name=\"NUM\">0</field></shadow><block type=\"math_arithmetic\"><field name=\"OP\">MINUS</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_count\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></value><statement name=\"DO\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"Azure_Face_getGender\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\">index</field></block></value></block></value></block></value></block></value></block></value></block></value></block></statement></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>index</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://cdn.cdnparenting.com/articles/2018/09/9-Ways-Men-and-Women-Think-Differently.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"pxt_controls_for\"><value name=\"VAR\"><shadow type=\"variables_get_reporter\"><field name=\"VAR\">index</field></shadow></value><value name=\"TO\"><shadow type=\"math_whole_number\"><field name=\"NUM\">0</field></shadow><block type=\"math_arithmetic\"><field name=\"OP\">MINUS</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_count\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></value><statement name=\"DO\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"Azure_Face_getGender\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\">index</field></block></value></block></value></block></value></block></value></block></value></block></value></block></statement><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    The output:

    Face get gender - Output

    References:

    Checking blocks contain Gender Attribute or Not

    Face has gender attribute

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_Face_hasGenderAttribute\"><value name=\"face\"><block type=\"variables_get\"><field name=\"VAR\">face</field></block></value></block></xml>"}

    This is used for checking whether the blocks contain gender attribute. 

    Parameters: AI Result (Face Detection from Azure)
    Output: Boolean (True/False)
    Sample code:

    It is using an if-else condition to check it contains gender attribute or not. 

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_Face_hasGenderAttribute\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkGenderAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It has gender attribute.</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkGenderAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It doesn't have gender attribute.</field></shadow></value></block></statement></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>checkGenderAttribute</variable><variable>face</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://image.shutterstock.com/image-photo/2-people-protective-masks-walking-260nw-1781747534.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectMaskedFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">checkGenderAttribute</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation></block></value><next><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_Face_hasGenderAttribute\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkGenderAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It has gender attribute.</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkGenderAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It doesn't have gender attribute.</field></shadow></value></block></statement><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"variables_get\"><field name=\"VAR\">checkGenderAttribute</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    When it contains “detect faces in image” block, it should have gender attribute:  

    Face has gender attribute - True Output

    When it contains “detect masked faces in image” block, it should have no gender attribute: 

    Face has gender attribute - False Output

    Face with Age Property

    Age Detection

    Face get age

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_Face_getAge\"><value name=\"face\"><block type=\"variables_get\"><field name=\"VAR\">face</field></block></value></block></xml>"}

    This is used for checking the age of people. 

    Parameters: AI Result (Face Detection from Azure)
    Output: AI Result
    Sample code:

    Using a for loop to display all the result of “get age”. 

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"pxt_controls_for\"><value name=\"VAR\"><shadow type=\"variables_get_reporter\"><field name=\"VAR\">index</field></shadow></value><value name=\"TO\"><shadow type=\"math_whole_number\"><field name=\"NUM\">0</field></shadow><block type=\"math_arithmetic\"><field name=\"OP\">MINUS</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_count\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></value><statement name=\"DO\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"Azure_Face_getAge\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\">index</field></block></value></block></value></block></value></block></value></block></value></block></value></block></statement></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>index</variable><variable>face</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://martech.org/wp-content/uploads/2016/03/people-different-ages-demos-ss-1920.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"pxt_controls_for\"><value name=\"VAR\"><shadow type=\"variables_get_reporter\"><field name=\"VAR\">index</field></shadow></value><value name=\"TO\"><shadow type=\"math_whole_number\"><field name=\"NUM\">0</field></shadow><block type=\"math_arithmetic\"><field name=\"OP\">MINUS</field><value name=\"A\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_count\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"B\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></value><statement name=\"DO\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"Azure_Face_getAge\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\">index</field></block></value></block></value></block></value></block></value></block></value></block></value></block></statement><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    The output:

    Face get age - Output

    References:

    Checking blocks contain Age Attribute or Not

    Face has age attribute

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_Face_hasAgeAttribute\"><value name=\"face\"><block type=\"variables_get\"><field name=\"VAR\">face</field></block></value></block></xml>"}

    This is used for checking whether the blocks contain age attribute. 

    Parameters: AI Result (Face Detection from Azure)
    Output: Boolean (True/False)
    Sample code:

    It is using an if-else condition to check it contains age attribute or not. 

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_Face_hasAgeAttribute\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkGenderAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It has age attribute.</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkGenderAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It doesn't have age attribute.</field></shadow></value></block></statement></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>checkGenderAttribute</variable><variable>face</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://martech.org/wp-content/uploads/2016/03/people-different-ages-demos-ss-1920.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">checkGenderAttribute</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation></block></value><next><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"Azure_Face_hasAgeAttribute\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><statement name=\"DO0\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkGenderAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It has age attribute.</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"Control_TextBlock_setContent\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">checkGenderAttribute</field></block></value><value name=\"content\"><shadow type=\"text\"><field name=\"TEXT\">It doesn't have age attribute.</field></shadow></value></block></statement><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"variables_get\"><field name=\"VAR\">checkGenderAttribute</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    When it contains “detect faces in image” block, it should have age attribute: 

    Face has age attribute - True Output

    When it contains “detect masked faces in image” block, it should not have age attribute: 

    Face has age attribute - False Output

    Listing All Attributes

    Face get available attribute names

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_Face_getAvailableAttributeNames\"><value name=\"face\"><block type=\"variables_get\"><field name=\"VAR\">face</field></block></value></block></xml>"}

    This is used for getting all the attribute names. 

    Parameters: AI Result (Face Detection from Azure)
    Output: AI Result
    Sample code:

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>index</variable><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>face</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">index</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://thumbs.dreamstime.com/b/portrait-happy-older-white-man-wearing-glasses-handsome-red-174874786.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"Azure_Face_getAvailableAttributeNames\"><value name=\"face\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"variables_get\"><field name=\"VAR\">index</field></block></value></block></value></block></value></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    The output:

    Face get available attribute names - Output

    References:

    Face Verification

    Face Comparison

    Verify face and face are the same

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_verifyFaces\"/></xml>"}

    This is used for verifying two faces similarity. 

    Parameters: 

    • AI Result (Face Verification from Azure)
    • AI Result (Face Verification from Azure)

    Output: AI Result
    Sample code:

    Using these blocks to display the result. 

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"Azure_verifyFaces\"><value name=\"face1\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result_1</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value><value name=\"face2\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result_2</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value></block></value></block></value></block></value></block></xml>"}
    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>face_1</variable><variable>face_2</variable><variable>result_1</variable><variable>result_2</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">face_1</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://thumbs.dreamstime.com/b/portrait-happy-older-white-man-wearing-glasses-handsome-red-174874786.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">face_2</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://static.independent.co.uk/s3fs-public/thumbnails/image/2017/09/27/08/jennifer-lawrence.jpg?width=982&amp;height=726&amp;auto=webp&amp;quality=75</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result_1</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">face_1</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result_2</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">face_2</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"Azure_verifyFaces\"><value name=\"face1\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result_1</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value><value name=\"face2\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result_2</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result_1</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">face_1</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result_2</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">face_2</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    The output:

    Verify face and face are the same - First Output
    Verify face and face are the same - Second Output

    References:

    Face Comparison Using Similarity Confidence

    Face Verification Result get face similarity confidence

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_FaceVerificationResult_getSimilarityConfidence\"><value name=\"faceVerificationResult\"><block type=\"variables_get\"><field name=\"VAR\">faceVerificationResult</field></block></value></block></xml>"}

    This is used for getting two faces similarity confidence. 

    Parameters: AI Result (Face Verification from Azure)
    Output: AI Result
    Sample code:

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>face_1</variable><variable>face_2</variable><variable>result_1</variable><variable>result_2</variable><variable>verify</variable><variable>similarity</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">face_1</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://thumbs.dreamstime.com/b/portrait-happy-older-white-man-wearing-glasses-handsome-red-174874786.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">face_2</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://thumbs.dreamstime.com/b/life-style-people-concept-happy-handsome-man-wearing-white-t-shirt-showing-thumbs-up-over-isolated-background-95399127.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result_1</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">face_1</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result_2</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">face_2</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">verify</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_verifyFaces\"><value name=\"face1\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result_1</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value><value name=\"face2\"><block type=\"lists_index_get\"><value name=\"LIST\"><block type=\"Azure_FaceDetectionResult_getFaces\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result_2</field></block></value></block></value><value name=\"INDEX\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">similarity</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceVerificationResult_getSimilarityConfidence\"><value name=\"faceVerificationResult\"><block type=\"variables_get\"><field name=\"VAR\">verify</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"Json_JsonValue_stringify\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"jsonValue\"><block type=\"Json_toJsonValue\"><value name=\"data\"><block type=\"variables_get\"><field name=\"VAR\">similarity</field></block></value></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result_1</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">face_1</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result_2</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">face_2</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    The output:

    Face Verification Result get face similarity confidence - First Output
    Face Verification Result get face similarity confidence - Second Output

    References:

    More in Azure

    Finding People that contain Related Hair Colors

    Face Detection Result count faces with hair color

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_FaceDetectionResult_countHairColor\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">faceDetectionResult</field></block></value><value name=\"color\"><shadow type=\"text\"><field name=\"TEXT\"/></shadow></value></block></xml>"}

    This is used for counting people where they have the corresponding color. 

    Parameters: 

    • AI Result (Face Verification from Azure)
    • String

    Output: Screen Item
    Sample code:

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>black</variable><variable>dateTimeOffset</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://thumbs.dreamstime.com/b/portrait-happy-older-white-man-wearing-glasses-handsome-red-174874786.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">black</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_countHairColor\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"color\"><shadow type=\"text\"><field name=\"TEXT\">black</field></shadow></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"DateTime_DateTimeOffset_toString\"><value name=\"dateTimeOffset\"><block type=\"variables_get\"><field name=\"VAR\">black</field></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    When counting black color, the output: 

    Face Detection Result count faces with hair color - Output

    References:

    Finding People that are Wearing Glasses

    Face Detection Result count faces with glasses

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_FaceDetectionResult_countGlasses\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">faceDetectionResult</field></block></value></block></xml>"}

    This is used for counting how many people wear glasses. 

    Parameters: AI Result (Face Detection from Azure)
    Output: AI Result
    Sample code:

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>count</variable><variable>dateTimeOffset</variable></variables><block type=\"pxt-on-start\" x=\"20\" y=\"20\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://pbs.twimg.com/media/CQG1slyWIAASBJX.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">count</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_countGlasses\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"DateTime_DateTimeOffset_toString\"><value name=\"dateTimeOffset\"><block type=\"variables_get\"><field name=\"VAR\">count</field></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    The output:

    Face Detection Result count faces with glasses - Output

    References:

    Finding People that are Male or Female

    Face Detection Result count faces of

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_FaceDetectionResult_countGender\"><field name=\"gender\">Gender.M</field><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">faceDetectionResult</field></block></value></block></xml>"}

    This is used for counting how many people is male/female. 

    Parameters:

    • AI Result (Face Detection from Azure)
    • Display setting: male (Default)/female

    Output: AI Result
    Sample code:

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>gender</variable><variable>dateTimeOffset</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://images.theconversation.com/files/134086/original/image-20160815-15261-te69mp.jpg?ixlib=rb-1.1.0&amp;q=45&amp;auto=format&amp;w=926&amp;fit=clip</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">gender</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_countGender\"><field name=\"gender\">Gender.M</field><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"DateTime_DateTimeOffset_toString\"><value name=\"dateTimeOffset\"><block type=\"variables_get\"><field name=\"VAR\">gender</field></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    When setting it to male, the output:

    Face Detection Result count face of - Male Output

    When setting it to female, the output:

    Face Detection Result count face of - Female Output

    References:

    Finding People that are Smiling

    Face Detection Result count faces with smile

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_FaceDetectionResult_countSmile\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">faceDetectionResult</field></block></value></block></xml>"}

    This is used for counting how many people is smiling. 

    Parameters: AI Result (Face Detection from Azure)
    Output: AI Result
    Sample code:

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>smile</variable><variable>dateTimeOffset</variable><variable>faceDetectionResult</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://i.imgur.com/s7XDaUi.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">smile</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_countSmile\"><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"DateTime_DateTimeOffset_toString\"><value name=\"dateTimeOffset\"><block type=\"variables_get\"><field name=\"VAR\">smile</field></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    The output:

    Face Detection Result count faces with smile - Output

    References:

    Finding People with Specific Emotion and Value

    Face Detection Result count faces with emotion valued

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"Azure_FaceDetectionResult_countEmotion\"><field name=\"emotion\">Emotion.Anger</field><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">faceDetectionResult</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></xml>"}

    This is used for counting faces when people have different emotions. 

    Parameters: 

    • AI Result (Face Detection from Azure)
    • Condition: 
      • anger (Default)/contempt/disgust/fear/happiness/ neutral/sadness/surprise 
      • Number (Default: 0)

    Output: AI Result
    Sample code:

    {"blocks":"<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable>mainLayout</variable><variable>mainScreen</variable><variable>image</variable><variable>result</variable><variable>anger</variable><variable>dateTimeOffset</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\">mainLayout</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"ScreenItem_createLayout\"/></value><next><block type=\"variables_set\"><field name=\"VAR\">mainScreen</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Screen_create\"><value name=\"label\"><shadow type=\"text\"><field name=\"TEXT\">Main</field></shadow></value><value name=\"layout\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">image</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Download_image\"><value name=\"url\"><shadow type=\"text\"><field name=\"TEXT\">https://i.imgur.com/s7XDaUi.jpg</field></shadow></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">result</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_detectFaces\"><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value><next><block type=\"variables_set\"><field name=\"VAR\">anger</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"Azure_FaceDetectionResult_countEmotion\"><field name=\"emotion\">Emotion.Anger</field><value name=\"faceDetectionResult\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Control_createTextBlock\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"1\" _input_init=\"true\"></mutation><value name=\"text\"><block type=\"text_join\"><mutation items=\"2\"/><value name=\"ADD0\"><shadow type=\"text\"><field name=\"TEXT\">anger: </field></shadow></value><value name=\"ADD1\"><shadow type=\"text\"><field name=\"TEXT\"/></shadow><block type=\"DateTime_DateTimeOffset_toString\"><value name=\"dateTimeOffset\"><block type=\"variables_get\"><field name=\"VAR\">anger</field></block></value></block></value></block></value></block></value><next><block type=\"ScreenItem_Layout_add\"><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\">mainLayout</field></block></value><value name=\"item\"><block type=\"Azure_applyFaceDetectionResult\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"result\"><block type=\"variables_get\"><field name=\"VAR\">result</field></block></value><value name=\"img\"><block type=\"variables_get\"><field name=\"VAR\">image</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>"}

    When value sets to 0, the output: 

    Face Detection Result count faces with emotion valued one - Output

    When value sets to 1, the output: 

    Face Detection Result count faces with emotion valued zero - Output

    References:

    Table of Content