图像处理更新

This commit is contained in:
Irene-Maxine
2025-10-30 20:12:42 +08:00
parent 09efdb5192
commit 9ee27ccad7
6 changed files with 556 additions and 243 deletions

View File

@@ -419,7 +419,7 @@ export const SCREEN_SHOW_CAM_GRAPH_SHOOT = {
this.appendValueInput("SUB") this.appendValueInput("SUB")
.appendField(Blockly.Msg.OLEDDISPLAY + Blockly.Msg.MIXLY_MICROBIT_IMAGE) .appendField(Blockly.Msg.OLEDDISPLAY + Blockly.Msg.MIXLY_MICROBIT_IMAGE)
this.appendValueInput('boolean') this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize + ':'); .appendField( Blockly.Msg.MIXLY_synchronize);
this.setPreviousStatement(true); this.setPreviousStatement(true);
this.setNextStatement(true); this.setNextStatement(true);
this.setInputsInline(true); this.setInputsInline(true);
@@ -441,7 +441,7 @@ export const SCREEN_DISPLAY_IMAGE = {
['270','270'] ['270','270']
]),'angle'); ]),'angle');
this.appendValueInput('boolean') this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize + ':'); .appendField( Blockly.Msg.MIXLY_synchronize);
this.setPreviousStatement(true); this.setPreviousStatement(true);
this.setNextStatement(true); this.setNextStatement(true);
this.setInputsInline(true); this.setInputsInline(true);
@@ -844,6 +844,8 @@ export const GET_QR_CODE_RECOGNITION_DATA = {
.setCheck("var"); .setCheck("var");
this.appendDummyInput() this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_GET_QR_CODE_RECOGNITION_RESULT); .appendField(Blockly.Msg.MIXLY_GET_QR_CODE_RECOGNITION_RESULT);
this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize);
this.setOutput(true); this.setOutput(true);
this.setInputsInline(true); this.setInputsInline(true);
} }
@@ -852,58 +854,46 @@ export const GET_QR_CODE_RECOGNITION_DATA = {
export const GET_COLOR_DETECTION_NUM = { export const GET_COLOR_DETECTION_NUM = {
init: function () { init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE); this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB') this.appendValueInput('SUB')
.setCheck("var"); .setCheck("var");
this.appendDummyInput() this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_RECOGNITION + Blockly.Msg.MIXLY_HOW_MUCH) .appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_HOW_MUCH + Blockly.Msg.MIXLY_REGISTER + Blockly.Msg.HTML_COLOUR )
.appendField(new Blockly.FieldDropdown([ this.appendValueInput('boolean')
[Blockly.Msg.COLOUR_RGB_RED,"0"], .appendField( Blockly.Msg.MIXLY_synchronize);
[Blockly.Msg.COLOUR_RGB_ORANGE,"1"],
[Blockly.Msg.COLOUR_RGB_YELLOW,"2"],
[Blockly.Msg.COLOUR_RGB_GREEN,"3"],
[Blockly.Msg.COLOUR_RGB_CYAN,"4"],
[Blockly.Msg.COLOUR_RGB_BLUE,"5"],
[Blockly.Msg.COLOUR_RGB_PURPLE,"6"],
[Blockly.Msg.COLOUR_RGB_WHITE,"7"],
[Blockly.Msg.COLOUR_RGB_GREY,"8"],
[Blockly.Msg.MIXLY_CUSTOM_STUDY,"9"]
]),'color');
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_Pixel_block);
this.setOutput(true); this.setOutput(true);
this.setInputsInline(true); this.setInputsInline(true);
// this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP); // this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP);
} }
}; };
export const GET_COLOR_DETECTION_LOCATION = { // export const GET_COLOR_DETECTION_LOCATION = {
init: function () { // init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE); // this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB') // this.appendValueInput('SUB')
.setCheck("var"); // .setCheck("var");
this.appendValueInput('NO') // this.appendValueInput('NO')
.appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER1); // .appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER1);
this.appendDummyInput() // this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER2) // .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER2)
.appendField(new Blockly.FieldDropdown([ // .appendField(new Blockly.FieldDropdown([
[Blockly.Msg.COLOUR_RGB_RED,"0"], // [Blockly.Msg.COLOUR_RGB_RED,"0"],
[Blockly.Msg.COLOUR_RGB_ORANGE,"1"], // [Blockly.Msg.COLOUR_RGB_ORANGE,"1"],
[Blockly.Msg.COLOUR_RGB_YELLOW,"2"], // [Blockly.Msg.COLOUR_RGB_YELLOW,"2"],
[Blockly.Msg.COLOUR_RGB_GREEN,"3"], // [Blockly.Msg.COLOUR_RGB_GREEN,"3"],
[Blockly.Msg.COLOUR_RGB_CYAN,"4"], // [Blockly.Msg.COLOUR_RGB_CYAN,"4"],
[Blockly.Msg.COLOUR_RGB_BLUE,"5"], // [Blockly.Msg.COLOUR_RGB_BLUE,"5"],
[Blockly.Msg.COLOUR_RGB_PURPLE,"6"], // [Blockly.Msg.COLOUR_RGB_PURPLE,"6"],
[Blockly.Msg.COLOUR_RGB_WHITE,"7"], // [Blockly.Msg.COLOUR_RGB_WHITE,"7"],
[Blockly.Msg.COLOUR_RGB_GREY,"8"], // [Blockly.Msg.COLOUR_RGB_GREY,"8"],
[Blockly.Msg.MIXLY_CUSTOM_STUDY,"9"] // [Blockly.Msg.MIXLY_CUSTOM_STUDY,"9"]
]),'color'); // ]),'color');
this.appendDummyInput() // this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_Pixel_block + Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_POSITION_XY); // .appendField(Blockly.Msg.MIXLY_Pixel_block + Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_POSITION_XY);
this.setOutput(true); // this.setOutput(true);
this.setInputsInline(true); // this.setInputsInline(true);
// this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP); // // this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP);
} // }
}; // };
export const GET_CAT_FACE_DETECTION_NUM = { export const GET_CAT_FACE_DETECTION_NUM = {
init: function () { init: function () {
@@ -911,22 +901,39 @@ export const GET_CAT_FACE_DETECTION_NUM = {
this.appendValueInput('SUB') this.appendValueInput('SUB')
.setCheck("var"); .setCheck("var");
this.appendDummyInput() this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_RECOGNITION + Blockly.Msg.MIXLY_HOW_MUCH +Blockly.Msg.MIXLY_CAT_FACE) .appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_HOW_MUCH +Blockly.Msg.MIXLY_CAT)
this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize);
this.setOutput(true); this.setOutput(true);
this.setInputsInline(true); this.setInputsInline(true);
// this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP); // this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP);
} }
}; };
export const GET_CAT_FACE_DETECTION_LOCATION = { // export const GET_CAT_FACE_DETECTION_LOCATION = {
// init: function () {
// this.setColour(AI_LOCAL_GRAPH_HUE);
// this.appendValueInput('SUB')
// .setCheck("var");
// this.appendValueInput('NO')
// .appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER1);
// this.appendDummyInput()
// .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER2 + Blockly.Msg.MIXLY_CAT_FACE + Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_POSITION_XY);
// this.setOutput(true);
// this.setInputsInline(true);
// // this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP);
// }
// };
export const GET_HUMAN_DETECTION_NUM = {
init: function () { init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE); this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB') this.appendValueInput('SUB')
.setCheck("var"); .setCheck("var");
this.appendValueInput('NO')
.appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER1);
this.appendDummyInput() this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER2 + Blockly.Msg.MIXLY_CAT_FACE + Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_POSITION_XY); .appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_HOW_MUCH +Blockly.Msg.MIXLY_HUMAN)
this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize);
this.setOutput(true); this.setOutput(true);
this.setInputsInline(true); this.setInputsInline(true);
// this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP); // this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP);
@@ -936,129 +943,174 @@ export const GET_CAT_FACE_DETECTION_LOCATION = {
export const GET_FACE_DETECTION_NUM = { export const GET_FACE_DETECTION_NUM = {
init: function () { init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE); this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB') this.appendValueInput('SUB')
.setCheck("var"); .setCheck("var");
this.appendDummyInput() this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_RECOGNITION + Blockly.Msg.MIXLY_HOW_MUCH +Blockly.Msg.MIXLY_FACE) .appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_HOW_MUCH +Blockly.Msg.MIXLY_FACE)
this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize);
this.setOutput(true); this.setOutput(true);
this.setInputsInline(true); this.setInputsInline(true);
// this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP); // this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP);
} }
}; };
export const GET_FACE_DETECTION_LOCATION = { export const GET_FACE_DETECTION_NAME = {
init: function () { init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE); this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB') this.appendValueInput('SUB')
.setCheck("var"); .setCheck("var");
this.appendValueInput('NO')
.appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER1);
this.appendDummyInput() this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER2 + Blockly.Msg.MIXLY_FACE + Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_POSITION_XY); .appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_AipFace +Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_NAME)
this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize);
this.setOutput(true); this.setOutput(true);
this.setInputsInline(true); this.setInputsInline(true);
// this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP); // this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP);
} }
}; };
export const GET_FACE_DETECTION_KEYPOINT_LOCATION = { // export const GET_FACE_DETECTION_LOCATION = {
init: function () { // init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE); // this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB') // this.appendValueInput('SUB')
.setCheck("var"); // .setCheck("var");
this.appendValueInput('NO') // this.appendValueInput('NO')
.appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER1); // .appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER1);
this.appendDummyInput() // this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER2 + Blockly.Msg.MIXLY_FACE); // .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER2 + Blockly.Msg.MIXLY_FACE + Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_POSITION_XY);
this.appendDummyInput() // this.setOutput(true);
.appendField(Blockly.Msg.MIXLY_KEYPOINT) // this.setInputsInline(true);
.appendField(new Blockly.FieldDropdown([ // // this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP);
[Blockly.Msg.MIXLY_LEFT_EYE,"0"], // }
[Blockly.Msg.MIXLY_RIGHT_EYE,"1"], // };
[Blockly.Msg.MIXLY_NOSE,"2"],
[Blockly.Msg.MIXLY_LEFT_MOUSE_CORNER,"3"],
[Blockly.Msg.MIXLY_RIGHT_MOUSE_CORNER,"4"]
]),'kp')
.appendField(Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_POSITION_XY);
this.setOutput(true);
this.setInputsInline(true);
}
};
export const GET_FACE_RECOGNITION_ID = { // export const GET_FACE_DETECTION_KEYPOINT_LOCATION = {
init: function () { // init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE); // this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB') // this.appendValueInput('SUB')
.setCheck("var"); // .setCheck("var");
this.appendDummyInput() // this.appendValueInput('NO')
.appendField(Blockly.Msg.MIXLY_RECOGNITION_RECGNITION + Blockly.Msg.MIXLY_FACE + 'ID'); // .appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER1);
this.setOutput(true); // this.appendDummyInput()
this.setInputsInline(true); // .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER2 + Blockly.Msg.MIXLY_FACE);
} // this.appendDummyInput()
}; // .appendField(Blockly.Msg.MIXLY_KEYPOINT)
// .appendField(new Blockly.FieldDropdown([
// [Blockly.Msg.MIXLY_LEFT_EYE,"0"],
// [Blockly.Msg.MIXLY_RIGHT_EYE,"1"],
// [Blockly.Msg.MIXLY_NOSE,"2"],
// [Blockly.Msg.MIXLY_LEFT_MOUSE_CORNER,"3"],
// [Blockly.Msg.MIXLY_RIGHT_MOUSE_CORNER,"4"]
// ]),'kp')
// .appendField(Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_POSITION_XY);
// this.setOutput(true);
// this.setInputsInline(true);
// }
// };
// export const GET_FACE_RECOGNITION_ID = {
// init: function () {
// this.setColour(AI_LOCAL_GRAPH_HUE);
// this.appendValueInput('SUB')
// .setCheck("var");
// this.appendDummyInput()
// .appendField(Blockly.Msg.MIXLY_RECOGNITION_RECGNITION + Blockly.Msg.MIXLY_FACE + 'ID');
// this.setOutput(true);
// this.setInputsInline(true);
// }
// };
// export const GET_FACE_RECOGNITION_ID_LOCATION = {
// init: function () {
// this.setColour(AI_LOCAL_GRAPH_HUE);
// this.appendValueInput('SUB')
// .setCheck("var");
// this.appendValueInput('NO')
// .appendField(Blockly.Msg.MIXLY_GET +'ID'+ Blockly.Msg.MIXLY_AS);
// this.appendDummyInput()
// .appendField(Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_FACE + Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_POSITION_XY);
// this.setOutput(true);
// this.setInputsInline(true);
// }
// };
// export const GET_FACE_RECOGNITION_ID_KEYPOINT_LOCATION = {
// init: function () {
// this.setColour(AI_LOCAL_GRAPH_HUE);
// this.appendValueInput('SUB')
// .setCheck("var");
// this.appendValueInput('NO')
// .appendField(Blockly.Msg.MIXLY_GET + 'ID'+ Blockly.Msg.MIXLY_AS);
// this.appendDummyInput()
// .appendField(Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_FACE);
// this.appendDummyInput()
// .appendField(Blockly.Msg.MIXLY_KEYPOINT)
// .appendField(new Blockly.FieldDropdown([
// [Blockly.Msg.MIXLY_LEFT_EYE,"0"],
// [Blockly.Msg.MIXLY_RIGHT_EYE,"1"],
// [Blockly.Msg.MIXLY_NOSE,"2"],
// [Blockly.Msg.MIXLY_LEFT_MOUSE_CORNER,"3"],
// [Blockly.Msg.MIXLY_RIGHT_MOUSE_CORNER,"4"]
// ]),'kp')
// .appendField(Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_POSITION_XY);
// this.setOutput(true);
// this.setInputsInline(true);
// }
// };
// export const PEOPLE_FACE_ENROLL = {
// init: function () {
// this.setColour(AI_LOCAL_GRAPH_HUE);
// this.appendValueInput('SUB')
// .setCheck("var");
// this.appendDummyInput()
// .appendField(Blockly.Msg.FACE_ENROLL);
// this.setOutput(true);
// this.setInputsInline(true);
// }
// };
// export const DELETE_PEOPLE_FACE_ID= {
// init: function () {
// this.setColour(AI_LOCAL_GRAPH_HUE);
// this.appendValueInput('SUB')
// .setCheck("var");
// this.appendValueInput("ID")
// .appendField(Blockly.Msg.MIXLY_DELETE_PEOPLE_FACE_ID);
// this.setPreviousStatement(true);
// this.setNextStatement(true);
// this.setInputsInline(true);
// }
// };
// export const MODELP_SIMPLELY_RUN_RECOGNIZION = {
// init: function () {
// this.setColour(AI_LOCAL_GRAPH_HUE);
// this.appendValueInput('SUB')
// .appendField(Blockly.Msg.MIXLY_RUN + Blockly.Msg.MIXLY_TENSORFLOW_MODEL + Blockly.Msg.MIXLY_RECOGNITION_RECGNITION)
// .setCheck("var");
// this.appendValueInput('CAM')
// .setCheck("var");
// this.appendDummyInput("")
// .appendField(new Blockly.FieldDropdown([
// [Blockly.Msg.MIXPY_AI_RESULT,"data"],
// [Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_HOW_MUCH + Blockly.Msg.MIXPY_OBJECT,"len"],
// [Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_AipFace + Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_NAME,"person"]
// ]),"key")
// this.appendValueInput('VAR')
// .appendField(Blockly.Msg.HTML_COLOUR)
// this.appendValueInput('boolean')
// .appendField( Blockly.Msg.MIXLY_synchronize);
// this.setOutput(true);
// this.setInputsInline(true);
// }
// };
export const GET_FACE_RECOGNITION_ID_LOCATION = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB')
.setCheck("var");
this.appendValueInput('NO')
.appendField(Blockly.Msg.MIXLY_GET +'ID'+ Blockly.Msg.MIXLY_AS);
this.appendDummyInput()
.appendField(Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_FACE + Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_POSITION_XY);
this.setOutput(true);
this.setInputsInline(true);
}
};
export const GET_FACE_RECOGNITION_ID_KEYPOINT_LOCATION = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB')
.setCheck("var");
this.appendValueInput('NO')
.appendField(Blockly.Msg.MIXLY_GET + 'ID'+ Blockly.Msg.MIXLY_AS);
this.appendDummyInput()
.appendField(Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_FACE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_KEYPOINT)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_LEFT_EYE,"0"],
[Blockly.Msg.MIXLY_RIGHT_EYE,"1"],
[Blockly.Msg.MIXLY_NOSE,"2"],
[Blockly.Msg.MIXLY_LEFT_MOUSE_CORNER,"3"],
[Blockly.Msg.MIXLY_RIGHT_MOUSE_CORNER,"4"]
]),'kp')
.appendField(Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_POSITION_XY);
this.setOutput(true);
this.setInputsInline(true);
}
};
export const PEOPLE_FACE_ENROLL = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB')
.setCheck("var");
this.appendDummyInput()
.appendField(Blockly.Msg.FACE_ENROLL);
this.setOutput(true);
this.setInputsInline(true);
}
};
export const DELETE_PEOPLE_FACE_ID= {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB')
.setCheck("var");
this.appendValueInput("ID")
.appendField(Blockly.Msg.MIXLY_DELETE_PEOPLE_FACE_ID);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
export const AI_STOP_ACQUISITION = { export const AI_STOP_ACQUISITION = {
@@ -1083,4 +1135,89 @@ export const MIXIO_REPORT_IMAGE_DATA = {
this.setOutput(true); this.setOutput(true);
this.setInputsInline(true); this.setInputsInline(true);
} }
};
//simplified part
export const CREATE_CAMERA_SIMPLE = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.MIXLY_SMARTCAMERA)
.appendField(Blockly.Msg.MIXLY_SHOOTING_SIZE)
.appendField(new Blockly.FieldDropdown([
['240px*240px', "R240X240"],
['320px*320px', "R320X320"],
['128px*128px', "R128X128"],
['96px*96px', "R96X96"],
['VGA : 640px*480px', "VGA"],
['HVGA : 480px*320px', "HVGA"],
['QVGA : 320px*240px', "QVGA"],
['QQVGA : 160px*120px', "QQVGA"]
]), "cmd");
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
export const AI_CAMERA_INIT_SIMPLE = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB')
.appendField(Blockly.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE)
.setCheck("var");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_QR_CODE + Blockly.Msg.MIXLY_RECOGNITION, "QRReader"],
[Blockly.Msg.MIXLY_COLOR_RECOGNTITION, "ColorDetector"],
[Blockly.Msg.MIXLY_CAT + Blockly.Msg.MIXLY_RECOGNITION, "CatDetector"],
[Blockly.Msg.MIXLY_HUMAN + Blockly.Msg.MIXLY_RECOGNITION, "HumanDetector"],
[Blockly.Msg.MIXLY_FACE_CLASSIFIER, "FaceDetector"],
[Blockly.Msg.MIXLY_AipFace,"FaceRecognizer"]
]), "kind");
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
}
};
export const Register_color_recognition_fixed_SIMPLE = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB')
.appendField(Blockly.Msg.MIXLY_TENSORFLOW_MODEL)
.setCheck("var");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_REGISTER + Blockly.Msg.MIXLY_RECOGNITION_RECGNITION + Blockly.Msg.HTML_COLOUR)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.COLOUR_RGB_RED,"red"],
[Blockly.Msg.COLOUR_RGB_GREEN,"green"],
[Blockly.Msg.COLOUR_RGB_BLUE,"blue"],
[Blockly.Msg.COLOUR_YELLOW,"yellow"],
[Blockly.Msg.COLOUR_CYAN,"cyan"],
[Blockly.Msg.COLOUR_RGB_PURPLE,"purple"],
[Blockly.Msg.COLOUR_BLACK,"black"],
[Blockly.Msg.COLOUR_WHITE,"white"]
]),"color");
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
}
};
export const REGISTER_NEW_FACE_SIMPLE = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB')
.appendField(Blockly.Msg.MIXLY_TENSORFLOW_MODEL)
.setCheck("var");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE + Blockly.Msg.MIXLY_SMARTCAMERA + Blockly.Msg.MIXLY_GET
+ Blockly.Msg.register_a_new_face_in_the_database);
this.appendValueInput("NAME")
.appendField(Blockly.Msg.MICROPYTHON_HUSKYLENS_NAME);
this.setOutput(true)
this.setInputsInline(true);
}
}; };

View File

@@ -12,7 +12,7 @@ export const display_show_image = {
var version = Boards.getSelectedBoardKey() var version = Boards.getSelectedBoardKey()
if (JSFuncs.getPlatform() === 'Python ESP32-S3') { if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
this.appendValueInput('boolean') this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize + ':'); .appendField( Blockly.Msg.MIXLY_synchronize);
} }
this.setPreviousStatement(true, null); this.setPreviousStatement(true, null);
this.setNextStatement(true, null); this.setNextStatement(true, null);
@@ -40,7 +40,7 @@ export const display_show_image_or_string_delay = {
]), 'center') ]), 'center')
if (JSFuncs.getPlatform() === 'Python ESP32-S3') { if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
this.appendValueInput('boolean') this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize + ':'); .appendField( Blockly.Msg.MIXLY_synchronize);
} }
this.setPreviousStatement(true, null); this.setPreviousStatement(true, null);
this.setNextStatement(true, null); this.setNextStatement(true, null);
@@ -304,7 +304,7 @@ export const display_shift = {
var version = Boards.getSelectedBoardKey() var version = Boards.getSelectedBoardKey()
if (JSFuncs.getPlatform() === 'Python ESP32-S3') { if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
this.appendValueInput('boolean') this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize + ':'); .appendField( Blockly.Msg.MIXLY_synchronize);
} }
var thisBlock = this; var thisBlock = this;
this.setTooltip(function () { this.setTooltip(function () {
@@ -397,7 +397,7 @@ export const display_clear = {
var version = Boards.getSelectedBoardKey() var version = Boards.getSelectedBoardKey()
if (JSFuncs.getPlatform() === 'Python ESP32-S3') { if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
this.appendValueInput('boolean') this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize + ':'); .appendField( Blockly.Msg.MIXLY_synchronize);
} }
this.setPreviousStatement(true, null); this.setPreviousStatement(true, null);
this.setNextStatement(true, null); this.setNextStatement(true, null);
@@ -1117,7 +1117,7 @@ export const onboard_tft_show_image_xy = {
var version = Boards.getSelectedBoardKey() var version = Boards.getSelectedBoardKey()
if (JSFuncs.getPlatform() === 'Python ESP32-S3') { if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
this.appendValueInput('boolean') this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize + ':'); .appendField( Blockly.Msg.MIXLY_synchronize );
} }
this.setPreviousStatement(true, null); this.setPreviousStatement(true, null);
this.setNextStatement(true, null); this.setNextStatement(true, null);
@@ -1172,7 +1172,7 @@ export const onboard_tft_show_image_or_string_delay = {
var version = Boards.getSelectedBoardKey() var version = Boards.getSelectedBoardKey()
if (JSFuncs.getPlatform() === 'Python ESP32-S3') { if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
this.appendValueInput('boolean') this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize + ':'); .appendField( Blockly.Msg.MIXLY_synchronize);
} }
this.setPreviousStatement(true, null); this.setPreviousStatement(true, null);
this.setNextStatement(true, null); this.setNextStatement(true, null);
@@ -1388,7 +1388,7 @@ export const onboard_tft_bright_point = {
var version = Boards.getSelectedBoardKey() var version = Boards.getSelectedBoardKey()
if (JSFuncs.getPlatform() === 'Python ESP32-S3') { if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
this.appendValueInput('boolean') this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize + ':'); .appendField( Blockly.Msg.MIXLY_synchronize);
} }
this.setPreviousStatement(true, null); this.setPreviousStatement(true, null);
this.setNextStatement(true, null); this.setNextStatement(true, null);
@@ -1405,7 +1405,7 @@ export const onboard_tft_fill = {
var version = Boards.getSelectedBoardKey() var version = Boards.getSelectedBoardKey()
if (JSFuncs.getPlatform() === 'Python ESP32-S3') { if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
this.appendValueInput('boolean') this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize + ':'); .appendField( Blockly.Msg.MIXLY_synchronize);
} }
this.setPreviousStatement(true, null); this.setPreviousStatement(true, null);
this.setNextStatement(true, null); this.setNextStatement(true, null);
@@ -1599,7 +1599,7 @@ export const onboard_tft_show_texts = {
var version = Boards.getSelectedBoardKey() var version = Boards.getSelectedBoardKey()
if (JSFuncs.getPlatform() === 'Python ESP32-S3') { if (JSFuncs.getPlatform() === 'Python ESP32-S3') {
this.appendValueInput('boolean') this.appendValueInput('boolean')
.appendField( Blockly.Msg.MIXLY_synchronize + ':'); .appendField( Blockly.Msg.MIXLY_synchronize);
} }
this.setPreviousStatement(true, null); this.setPreviousStatement(true, null);
this.setNextStatement(true, null); this.setNextStatement(true, null);

View File

@@ -367,102 +367,125 @@ export const PRINT_FACE_DATABASE = function (_, generator) {
} }
export const GET_QR_CODE_RECOGNITION_DATA = function (_, generator) { export const GET_QR_CODE_RECOGNITION_DATA = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub + '.code_recognition()'; var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC);
var code = 'esp_dl.simple_run('+ sub + ', camere, "data", color=0xF800, sync='+bool+')';
return [code, generator.ORDER_ATOMIC]; return [code, generator.ORDER_ATOMIC];
} }
export const GET_COLOR_DETECTION_NUM = function (_, generator) { export const GET_COLOR_DETECTION_NUM = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var color = this.getFieldValue('color'); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC);
var code = sub + '.color_detection('+ color +",'len')"; var code = 'esp_dl.simple_run('+ sub + ', camere, "len", color=0xF800, sync='+bool+')';
return [code, generator.ORDER_ATOMIC]; return [code, generator.ORDER_ATOMIC];
} }
export const GET_COLOR_DETECTION_LOCATION = function (_, generator) { // export const GET_COLOR_DETECTION_LOCATION = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); // var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
var color = this.getFieldValue('color'); // var color = this.getFieldValue('color');
var code = sub + '.color_detection('+ color +",'pos',"+ num +')'; // var code = sub + '.color_detection('+ color +",'pos',"+ num +')';
return [code, generator.ORDER_ATOMIC]; // return [code, generator.ORDER_ATOMIC];
} // }
export const GET_CAT_FACE_DETECTION_NUM = function (_, generator) { export const GET_CAT_FACE_DETECTION_NUM = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub + ".cat_detection('len')"; var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC);
var code = 'esp_dl.simple_run('+ sub + ', camere, "len", color=0xF800, sync='+bool+')';
return [code, generator.ORDER_ATOMIC]; return [code, generator.ORDER_ATOMIC];
} }
export const GET_CAT_FACE_DETECTION_LOCATION = function (_, generator) { // export const GET_CAT_FACE_DETECTION_LOCATION = function (_, generator) {
// var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
// var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
// var code = sub + ".cat_detection('pos',"+ num +')';
// return [code, generator.ORDER_ATOMIC];
// }
export const GET_HUMAN_DETECTION_NUM = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC);
var code = sub + ".cat_detection('pos',"+ num +')'; var code = 'esp_dl.simple_run('+ sub + ', camere, "len", color=0xF800, sync='+bool+')';
return [code, generator.ORDER_ATOMIC]; return [code, generator.ORDER_ATOMIC];
} }
export const GET_FACE_DETECTION_NUM = function (_, generator) { export const GET_FACE_DETECTION_NUM = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub + ".face_detection('len')"; var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC);
var code = 'esp_dl.simple_run('+ sub + ', camere, "len", color=0xF800, sync='+bool+')';
return [code, generator.ORDER_ATOMIC]; return [code, generator.ORDER_ATOMIC];
} }
export const GET_FACE_DETECTION_LOCATION = function (_, generator) { export const GET_FACE_DETECTION_NAME = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC);
var code = sub + ".face_detection('pos',"+ num +')'; var code = 'esp_dl.simple_run('+ sub + ', "person", color=0xF800, sync='+bool+')["name"]\n';
return [code, generator.ORDER_ATOMIC]; return [code, generator.ORDER_ATOMIC];
} }
export const GET_FACE_DETECTION_KEYPOINT_LOCATION = function (_, generator) { // export const GET_FACE_DETECTION_LOCATION = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); // var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
var kp = this.getFieldValue('kp'); // var code = sub + ".face_detection('pos',"+ num +')';
var code = sub + ".face_detection('keypoint',"+ num +','+ kp +')'; // return [code, generator.ORDER_ATOMIC];
return [code, generator.ORDER_ATOMIC]; // }
}
export const GET_FACE_RECOGNITION_ID = function (_, generator) { // export const GET_FACE_DETECTION_KEYPOINT_LOCATION = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub + ".face_recognition('len')"; // var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
return [code, generator.ORDER_ATOMIC]; // var kp = this.getFieldValue('kp');
} // var code = sub + ".face_detection('keypoint',"+ num +','+ kp +')';
// return [code, generator.ORDER_ATOMIC];
// }
export const GET_FACE_RECOGNITION_ID_LOCATION = function (_, generator) { // export const GET_FACE_RECOGNITION_ID = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); // var code = sub + ".face_recognition('len')";
var code = sub + ".face_recognition('pos',"+ num +')'; // return [code, generator.ORDER_ATOMIC];
return [code, generator.ORDER_ATOMIC]; // }
}
export const GET_FACE_RECOGNITION_ID_KEYPOINT_LOCATION = function (_, generator) { // export const GET_FACE_RECOGNITION_ID_LOCATION = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); // var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
var kp = this.getFieldValue('kp'); // var code = sub + ".face_recognition('pos',"+ num +')';
var code = sub + ".face_recognition('keypoint',"+ num +','+ kp +')'; // return [code, generator.ORDER_ATOMIC];
return [code, generator.ORDER_ATOMIC]; // }
}
export const GET_NO_FACE_RECOGNITION_INFO = function (_, generator) { // export const GET_FACE_RECOGNITION_ID_KEYPOINT_LOCATION = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'; // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC); // var kp = this.getFieldValue('kp');
var kind = this.getFieldValue('kind'); // var code = sub + ".face_recognition('keypoint',"+ num +','+ kp +')';
var code = "esp_dl.analyze("+sub+', "person",'+ num +')["'+kind+'"]'; // return [code, generator.ORDER_ATOMIC];
return [code, generator.ORDER_ATOMIC]; // }
}
export const PEOPLE_FACE_ENROLL = function (_, generator) { // export const GET_NO_FACE_RECOGNITION_INFO = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // generator.definitions_['import_esp_dl'] = 'import esp_dl';
var code = sub + '.face_enroll()'; // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
return [code, generator.ORDER_ATOMIC]; // var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
} // var kind = this.getFieldValue('kind');
// var code = "esp_dl.analyze("+sub+', "person",'+ num +')["'+kind+'"]';
// return [code, generator.ORDER_ATOMIC];
// }
export const DELETE_PEOPLE_FACE_ID = function (_, generator) { // export const PEOPLE_FACE_ENROLL = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); // var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var id = generator.valueToCode(this, 'ID', generator.ORDER_ATOMIC); // var code = sub + '.face_enroll()';
var code = sub + '.face_delete('+ id +')\n'; // return [code, generator.ORDER_ATOMIC];
return code; // }
}
// export const DELETE_PEOPLE_FACE_ID = function (_, generator) {
// var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
// var id = generator.valueToCode(this, 'ID', generator.ORDER_ATOMIC);
// var code = sub + '.face_delete('+ id +')\n';
// return code;
// }
export const AI_STOP_ACQUISITION = function (_, generator) { export const AI_STOP_ACQUISITION = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
@@ -475,4 +498,55 @@ export const MIXIO_REPORT_IMAGE_DATA = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = 'mixiot.image_base64('+ sub +')'; var code = 'mixiot.image_base64('+ sub +')';
return [code, generator.ORDER_ATOMIC]; return [code, generator.ORDER_ATOMIC];
}
//simplified part
export const CREATE_CAMERA_SIMPLE = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2];
generator.definitions_['import_Camera_FrameSize'] = 'from camera import Camera,FrameSize';
var cmd = this.getFieldValue('cmd');
var code = 'camera = Camera(FrameSize.'+cmd+', hmirror=False,vflip=False)\n';
return code;
}
export const AI_CAMERA_INIT_SIMPLE = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var cmd = this.getFieldValue('kind');
if(cmd == "FaceRecognizer"){
var code = sub +' = esp_dl.'+cmd + '(width=camera.get_pixel_width(), height=camera.get_pixel_height() , db_path="face.db")\n';
}else{
var code = sub +' = esp_dl.'+cmd + '(width=camera.get_pixel_width(), height=height=camera.get_pixel_height())\n';
}
return code;
}
export const Register_color_recognition_fixed_SIMPLE= function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var color = this.getFieldValue('color');
if (color == "red"){
var code = sub + '.register_color((170, 100, 100), (10, 255, 255),"'+ color +'")\n';
}else if(color == "green"){
var code = sub + '.register_color((35, 100, 100), (85, 255, 255),"'+ color +'")\n';
}else if(color == "blue"){
var code = sub + '.register_color((100, 100, 100), (130, 255, 255),"'+ color +'")\n';
}else if(color == "yellow"){
var code = sub + '.register_color((20, 100, 100), (35, 255, 255),"'+ color +'")\n';
}else if(color == "cyan"){
var code = sub + '.register_color((85, 100, 100), (100, 255, 255),"'+ color +'")\n';
}else if(color == "purple"){
var code = sub + '.register_color((130, 100, 100), (150, 255, 255),"'+ color +'")\n';
}else if(color == "black"){
var code = sub + '.register_color((0, 0, 0), (180, 255, 50),"'+ color +'")\n';
}else if(color == "white"){
var code = sub + '.register_color((0, 0, 200), (180, 50, 255),"'+ color +'")\n';
}
return code;
}
export const REGISTER_NEW_FACE_SIMPLE = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var name = generator.valueToCode(this, 'NAME', generator.ORDER_ATOMIC);
var code = sub + '.enroll(camera.capture(), name='+ name +', validate = 1)';
return [code, generator.ORDER_ATOMIC];
} }

View File

@@ -476,4 +476,14 @@ div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTr
#catAIvoicesensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { #catAIvoicesensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
background: url('../../../../common/media/mark/AIvoice2.png') no-repeat; background: url('../../../../common/media/mark/AIvoice2.png') no-repeat;
background-size: 100% auto; background-size: 100% auto;
}
#catAIgraphsensorpro.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
background: url('../../../../common/media/mark/image.png') no-repeat;
background-size: 100% auto;
}
#catAIgraphsensorpro.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
background: url('../../../../common/media/mark/image2.png') no-repeat;
background-size: 100% auto;
} }

View File

@@ -2415,7 +2415,7 @@
</block> </block>
</category> </category>
<category id="catAIonboard" colour="#2FAD7A" m-show='micropython:esp32s3:mixgo_sant'> <category id="catAIonboard" colour="#2FAD7A" m-show='micropython:esp32s3:mixgo_sant'>
<category id="catAIgraphsensor" colour="#90A244"> <category id="catAIgraphsensorpro" colour="#90A244">
<block type="CREATE_CAMERA"> <block type="CREATE_CAMERA">
<value name="HM"> <value name="HM">
<shadow type="yesorno"> <shadow type="yesorno">
@@ -2426,13 +2426,6 @@
</shadow> </shadow>
</value> </value>
</block> </block>
<block type="SHOOT_AND_SAVE_PICTURE">
<value name="direct">
<shadow type="text">
<field name="TEXT">mixly.jpg</field>
</shadow>
</value>
</block>
<block type="variables_set"> <block type="variables_set">
<field name="VAR">image</field> <field name="VAR">image</field>
<value name="VALUE"> <value name="VALUE">
@@ -2642,7 +2635,6 @@
<field name="VAR">_results</field> <field name="VAR">_results</field>
</shadow> </shadow>
</value> </value>
</block> </block>
<block type="GET_HOW_MUCH_RECOGNITION"> <block type="GET_HOW_MUCH_RECOGNITION">
<value name="SUB"> <value name="SUB">
@@ -2711,23 +2703,90 @@
</shadow> </shadow>
</value> </value>
</block> </block>
<!-- <block type="MODELP_SIMPLELY_RUN_RECOGNIZION">
<!-- <block type="GET_QR_CODE_RECOGNITION_DATA">
<value name="SUB"> <value name="SUB">
<shadow type="variables_get"> <shadow type="variables_get">
<field name="VAR">ai</field> <field name="VAR">Model</field>
</shadow>
</value>
<value name="CAM">
<shadow type="variables_get">
<field name="VAR">camera</field>
</shadow>
</value>
<value name="VAR">
<block type="display_color_seclet">
<field name="COLOR">#0xF800</field>
</block>
<shadow type="tuple_create_with_text_return">
<field name="TEXT">255,255,0</field>
</shadow>
</value>
<value name="boolean">
<shadow type="logic_boolean">
</shadow>
</value>
</block> -->
</category>
<category id="catAIgraphsensor" colour="#90A244">
<block type="CREATE_CAMERA_SIMPLE">
</block>
<block type="SHOOT_AND_SAVE_PICTURE">
<value name="direct">
<shadow type="text">
<field name="TEXT">mixly.jpg</field>
</shadow>
</value>
</block>
<block type="AI_CAMERA_INIT_SIMPLE">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">Model</field>
</shadow>
</value>
</block>
<block type="Register_color_recognition_fixed_SIMPLE">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">Model</field>
</shadow>
</value>
</block>
<block type="REGISTER_NEW_FACE_SIMPLE">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">Model</field>
</shadow>
</value>
<value name="NAME">
<shadow type="text">
<field name="TEXT">name</field>
</shadow>
</value>
</block>
<block type="GET_QR_CODE_RECOGNITION_DATA">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">Model</field>
</shadow>
</value>
<value name="boolean">
<shadow type="logic_boolean">
</shadow> </shadow>
</value> </value>
</block> </block>
<block type="GET_COLOR_DETECTION_NUM"> <block type="GET_COLOR_DETECTION_NUM">
<value name="SUB"> <value name="SUB">
<shadow type="variables_get"> <shadow type="variables_get">
<field name="VAR">ai</field> <field name="VAR">Model</field>
</shadow>
</value>
<value name="boolean">
<shadow type="logic_boolean">
</shadow> </shadow>
</value> </value>
</block> </block>
<block type="GET_COLOR_DETECTION_LOCATION"> <!-- <block type="GET_COLOR_DETECTION_LOCATION">
<value name="SUB"> <value name="SUB">
<shadow type="variables_get"> <shadow type="variables_get">
<field name="VAR">ai</field> <field name="VAR">ai</field>
@@ -2738,15 +2797,19 @@
<field name="NUM">1</field> <field name="NUM">1</field>
</shadow> </shadow>
</value> </value>
</block> </block> -->
<block type="GET_CAT_FACE_DETECTION_NUM"> <block type="GET_CAT_FACE_DETECTION_NUM">
<value name="SUB"> <value name="SUB">
<shadow type="variables_get"> <shadow type="variables_get">
<field name="VAR">ai</field> <field name="VAR">Model</field>
</shadow>
</value>
<value name="boolean">
<shadow type="logic_boolean">
</shadow> </shadow>
</value> </value>
</block> </block>
<block type="GET_CAT_FACE_DETECTION_LOCATION"> <!-- <block type="GET_CAT_FACE_DETECTION_LOCATION">
<value name="SUB"> <value name="SUB">
<shadow type="variables_get"> <shadow type="variables_get">
<field name="VAR">ai</field> <field name="VAR">ai</field>
@@ -2757,15 +2820,43 @@
<field name="NUM">1</field> <field name="NUM">1</field>
</shadow> </shadow>
</value> </value>
</block> -->
<block type="GET_HUMAN_DETECTION_NUM">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">Model</field>
</shadow>
</value>
<value name="boolean">
<shadow type="logic_boolean">
</shadow>
</value>
</block> </block>
<block type="GET_FACE_DETECTION_NUM"> <block type="GET_FACE_DETECTION_NUM">
<value name="SUB"> <value name="SUB">
<shadow type="variables_get"> <shadow type="variables_get">
<field name="VAR">ai</field> <field name="VAR">Model</field>
</shadow>
</value>
<value name="boolean">
<shadow type="logic_boolean">
</shadow> </shadow>
</value> </value>
</block> </block>
<block type="GET_FACE_DETECTION_LOCATION"> <block type="GET_FACE_DETECTION_NAME">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">Model</field>
</shadow>
</value>
<value name="boolean">
<shadow type="logic_boolean">
</shadow>
</value>
</block>
<!-- <block type="GET_FACE_DETECTION_LOCATION">
<value name="SUB"> <value name="SUB">
<shadow type="variables_get"> <shadow type="variables_get">
<field name="VAR">ai</field> <field name="VAR">ai</field>

View File

@@ -40,6 +40,7 @@ ZhHans.MSG = {
catAIsensor:"MixGoAI智能传感", catAIsensor:"MixGoAI智能传感",
catAIsensor2:"MixGoAI图像识别", catAIsensor2:"MixGoAI图像识别",
catAIgraphsensor:"图像处理", catAIgraphsensor:"图像处理",
catAIgraphsensorpro:"图像进阶",
catAIvoicesensor:"语音处理", catAIvoicesensor:"语音处理",
catSensor: "传感器", catSensor: "传感器",
catActuator: "执行器", catActuator: "执行器",
@@ -4226,7 +4227,7 @@ ZhHans.MIXLY_VERTICAL_MIRRORING = '垂直镜像';
ZhHans.MIXLY_MODEL_NUMBER = '型号'; ZhHans.MIXLY_MODEL_NUMBER = '型号';
ZhHans.MIXLY_IMAGE_QUALITY = '图像质量'; ZhHans.MIXLY_IMAGE_QUALITY = '图像质量';
ZhHans.MIXLY_ROTATION_ANGLE = '旋转角度'; ZhHans.MIXLY_ROTATION_ANGLE = '旋转角度';
ZhHans.MIXLY_SYNC_DISPLAY = '同步显示'; ZhHans.MIXLY_SYNC_DISPLAY = '同步显示';
ZhHans.MIXLY_ONLY = '仅'; ZhHans.MIXLY_ONLY = '仅';
ZhHans.MIXLY_HUMAN = '人'; ZhHans.MIXLY_HUMAN = '人';
ZhHans.MIXLY_CAT = '猫'; ZhHans.MIXLY_CAT = '猫';