板载智能-图像处理部分修改

This commit is contained in:
Irene-Maxine
2025-05-29 09:13:53 +08:00
parent a2b4701caf
commit ba36d97506
8 changed files with 392 additions and 230 deletions

View File

@@ -244,9 +244,9 @@ export const CREATE_CAMERA = {
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.MIXLY_SMARTCAMERA)
.appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXLY_SHOOTING_SIZE)
.appendField(new Blockly.FieldDropdown([
['LCD : 240px*240px', "LCD"],
['VGA : 640px*480px', "VGA"],
['QVGA : 320px*240px', "QVGA"],
['LCD : 240px*240px', "LCD"],
['QQVGA : 160px*120px', "QQVGA"]
]), "cmd")
this.setPreviousStatement(true);
@@ -274,6 +274,7 @@ export const GET_PICTURE_DATA = {
.appendField(Blockly.Msg.MIXLY_GET_PICTURE_DATA);
this.setOutput(true);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_GET_PICTURE_DATA_TOOLTIP);
}
};
@@ -299,47 +300,35 @@ export const STOP_SCREEN_DISPLAY = {
}
};
export const INIT_QR_CODE_RECOGNITION= {
export const AI_CAMERA_INIT = {
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.MIXLY_QR_CODE_RECOGNTITION);
this.setPreviousStatement(true);
this.setNextStatement(true);
.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, "CODE_DETECTION"],
[Blockly.Msg.MIXLY_COLOR_RECOGNTITION, "COLOR_DETECTION"],
[Blockly.Msg.MIXLY_EMOTION_DETEECTION, "MOTION_DETECTON"],
[Blockly.Msg.MIXLY_CAT_FACE + Blockly.Msg.MIXLY_RECOGNITION, "CAT_FACE_DETECTION"],
[Blockly.Msg.MIXLY_FACE_CLASSIFIER, "FACE_DETECTION"],
[Blockly.Msg.MIXLY_AipFace, "FACE_RECOGNITION"]
]), "kind");
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
}
};
export const START_QR_CODE_RECOGNITION= {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MSTIMER2_START + Blockly.Msg.MIXLY_QR_CODE + Blockly.Msg.MIXLY_RECOGNITION);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
export const GET_QR_CODE_RECOGNITION_DATA = {
export const GET_COLOR_DETECTION_NUM = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB')
.setCheck("var");
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_GET_QR_CODE_RECOGNITION_RESULT);
this.setOutput(true);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_GET_QR_CODE_RECOGNITION_RESULT_TOOLTIP);
}
};
export const INIT_COLOR_DETECTION= {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.MIXLY_ESP32_APDS9960_COLOR);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_RECOGNITION + Blockly.Msg.MIXLY_HOW_MUCH)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.COLOUR_RGB_RED,"0"],
[Blockly.Msg.COLOUR_RGB_ORANGE,"1"],
@@ -351,107 +340,170 @@ export const INIT_COLOR_DETECTION= {
[Blockly.Msg.COLOUR_RGB_WHITE,"7"],
[Blockly.Msg.COLOUR_RGB_GREY,"8"],
[Blockly.Msg.MIXLY_CUSTOM_STUDY,"9"]
]),'color')
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
export const START_COLOR_DETECTION= {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MSTIMER2_START + Blockly.Msg.HTML_COLOUR + Blockly.Msg.MIXLY_RECOGNITION);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
export const GET_COLOR_DETECTION_RESULT = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
]),'color');
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT);
.appendField(Blockly.Msg.MIXLY_Pixel_block);
this.setOutput(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 INIT_CAT_FACE_DETECTION= {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.MIXLY_CAT_FACE +Blockly.Msg.MIXLY_RECOGNITION);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
export const START_CAT_FACE_DETECTION= {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MSTIMER2_START + Blockly.Msg.MIXLY_CAT_FACE + Blockly.Msg.MIXLY_RECOGNITION);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
export const GET_CAT_FACE_DETECTION_RESULT = {
export const GET_COLOR_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_GET_CAT_FACE_DETECTION_RESULT);
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER2)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.COLOUR_RGB_RED,"0"],
[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 + 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_CAT_FACE_DETECTION_NUM = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB')
.setCheck("var");
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_RECOGNITION + Blockly.Msg.MIXLY_HOW_MUCH +Blockly.Msg.MIXLY_CAT_FACE)
this.setOutput(true);
this.setInputsInline(true);
// this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP);
}
};
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_FACE_DETECTION_NUM = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('SUB')
.setCheck("var");
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_RECOGNITION + Blockly.Msg.MIXLY_HOW_MUCH +Blockly.Msg.MIXLY_FACE)
this.setOutput(true);
this.setInputsInline(true);
// this.setTooltip(Blockly.Msg.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP);
}
};
export const GET_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_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_FACE_DETECTION_KEYPOINT_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_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 INIT_PEOPLE_FACE_DETECTION= {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.MIXLY_FACE_CLASSIFIER);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
export const START_PEOPLE_FACE_DETECTION= {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_MSTIMER2_START + Blockly.Msg.MIXLY_FACE_CLASSIFIER + '/' + Blockly.Msg.MIXLY_AipFace);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
export const GET_PEOPLE_FACE_DETECTION_RESULT = {
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_GET_PEOPLE_FACE_DETECTION_RESULT);
.appendField(Blockly.Msg.MIXLY_RECOGNITION_RECGNITION + Blockly.Msg.MIXLY_FACE + 'ID');
this.setOutput(true);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_GET_PEOPLE_FACE_DETECTION_RESULT_TOOLTIP);
}
};
export const INIT_PEOPLE_FACE_RECOGNITION= {
export const GET_FACE_RECOGNITION_ID_LOCATION = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.MIXLY_AipFace);
this.setPreviousStatement(true);
this.setNextStatement(true);
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);
}
};
@@ -459,6 +511,8 @@ export const INIT_PEOPLE_FACE_RECOGNITION= {
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);
@@ -466,20 +520,11 @@ export const PEOPLE_FACE_ENROLL = {
}
};
export const GET_PEOPLE_FACE_RECOGNITION_RESULT = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_GET_PEOPLE_FACE_RECOGNITION_RESULT);
this.setOutput(true);
this.setInputsInline(true);
this.setTooltip(Blockly.Msg.MIXLY_GET_PEOPLE_FACE_RECOGNITION_RESULT_TOOLTIP);
}
};
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);

View File

@@ -63,10 +63,6 @@ export const CI130X_GET_THE_RECOGNIZED_CMD_SANT = function (_, generator) {
return [code, generator.ORDER_ATOMIC];
}
//graph part
export const CI130X_BROADCAST_SANT = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2];
if(version == 'mixgo_sant'){
@@ -99,6 +95,11 @@ export const CI130X_SET_SYSTEM_CMD_SANT = function (_, generator) {
return code;
}
//graph part
export const CREATE_CAMERA = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2];
generator.definitions_['import_camera'] = 'import camera';
@@ -119,7 +120,7 @@ export const GET_PICTURE_DATA = function (_, generator) {
}
export const SCREEN_SHOW_CAM_GRAPH_SHOOT = function (_, generator) {
var code = 'cam.display()\n'+'time.sleep(1)\n';
var code = 'cam.display()\n';
return code;
}
@@ -128,99 +129,93 @@ export const STOP_SCREEN_DISPLAY = function (_, generator) {
return code;
}
export const INIT_QR_CODE_RECOGNITION = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'qr_code = esp_ai.code_recognition()\n';
export const AI_CAMERA_INIT = function (_, generator) {
generator.definitions_['from_ai_camera_import_AI'] = 'from ai_camera import AI';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var cmd = this.getFieldValue('kind');
var code = sub +' = ai_camera.AI(ai_camera.' + cmd + ')\n';
return code;
}
export const START_QR_CODE_RECOGNITION = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'qr_code.start()\n';
return code;
}
export const GET_QR_CODE_RECOGNITION_DATA = function (_, generator) {
var code = 'qr_code.read()';
return [code, generator.ORDER_ATOMIC];
}
export const INIT_COLOR_DETECTION = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
export const GET_COLOR_DETECTION_NUM = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var color = this.getFieldValue('color');
var code = 'color = esp_ai.color_detection('+ color +')\n';
return code;
}
export const START_COLOR_DETECTION = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'color.start()\n';
return code;
}
export const GET_COLOR_DETECTION_RESULT = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'color.read()';
var code = sub + '.color_detection('+ color +",'len')";
return [code, generator.ORDER_ATOMIC];
}
export const INIT_CAT_FACE_DETECTION = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'cat = esp_ai.cat_detection()\n';
return code;
}
export const START_CAT_FACE_DETECTION = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'cat.start()\n';
return code;
}
export const GET_CAT_FACE_DETECTION_RESULT = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'cat.read()';
export const GET_COLOR_DETECTION_LOCATION = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
var color = this.getFieldValue('color');
var code = sub + '.color_detection('+ color +",'pos',"+ num +')';
return [code, generator.ORDER_ATOMIC];
}
export const INIT_PEOPLE_FACE_DETECTION = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'face = esp_ai.face_detection()\n';
return code;
}
export const START_PEOPLE_FACE_DETECTION = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'face.start()\n';
return code;
}
export const GET_PEOPLE_FACE_DETECTION_RESULT = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'face.read()';
export const GET_CAT_FACE_DETECTION_NUM = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub + ".cat_detection('len')";
return [code, generator.ORDER_ATOMIC];
}
export const INIT_PEOPLE_FACE_RECOGNITION = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'face = esp_ai.face_recognition()\n';
return code;
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__FACE_DETECTION_NUM = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub + ".face_detection('len')";
return [code, generator.ORDER_ATOMIC];
}
export const GET_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 + ".face_detection('pos',"+ num +')';
return [code, generator.ORDER_ATOMIC];
}
export const GET_FACE_DETECTION_KEYPOINT_LOCATION = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var num = generator.valueToCode(this, 'NO', 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 = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub + ".face_recognition('len')";
return [code, generator.ORDER_ATOMIC];
}
export const GET_FACE_RECOGNITION_ID_LOCATION = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
var code = sub + ".face_recognition('pos',"+ num +')';
return [code, generator.ORDER_ATOMIC];
}
export const GET_FACE_RECOGNITION_ID_KEYPOINT_LOCATION = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var num = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
var kp = this.getFieldValue('kp');
var code = sub + ".face_recognition('keypoint',"+ num +','+ kp +')';
return [code, generator.ORDER_ATOMIC];
}
export const PEOPLE_FACE_ENROLL = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'face.enroll()';
return [code, generator.ORDER_ATOMIC];
}
export const GET_PEOPLE_FACE_RECOGNITION_RESULT = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var code = 'face.recognize()';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub + '.face_enroll()';
return [code, generator.ORDER_ATOMIC];
}
export const DELETE_PEOPLE_FACE_ID = function (_, generator) {
generator.definitions_['import_esp_ai'] = 'import esp_ai';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var id = generator.valueToCode(this, 'ID', generator.ORDER_ATOMIC);
var code = 'face.delete('+ id +')\n';
var code = sub + '.face_delete('+ id +')\n';
return code;
}

View File

@@ -846,7 +846,7 @@ export const onboard_tft_show_image_xy_direct = function (_, generator) {
var x = generator.valueToCode(this, 'x', generator.ORDER_ASSIGNMENT);
var y = generator.valueToCode(this, 'y', generator.ORDER_ASSIGNMENT);
var direct = generator.valueToCode(this, 'direct', generator.ORDER_ASSIGNMENT);
var code = "onboard_tft.pictrue(" + x + ',' + y + ',' + direct + ")\n";
var code = "onboard_tft.picture(" + x + ',' + y + ',' + direct + ")\n";
return code;
}

View File

@@ -235,7 +235,7 @@ export const radar_set_DETECTION_THRESHOLD = function (_, generator) {
}
export const radar_set_DETECTION_THRESHOLD_SANT = function (_, generator) {
generator.definitions_['import_sant_g2_ext_mmw'] = 'from sant_g2 import ext_mmw';
generator.definitions_['import_sant_gx_ext_mmw'] = 'from sant_gx import ext_mmw';
var value = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
var value2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC);
var code = 'ext_mmw.threshold(' + value + ')\n' + 'ext_mmw.delay_ms(' + value2 + ')\n';
@@ -250,7 +250,7 @@ export const interaction_whether_to_interaction = function (_, generator) {
}
export const interaction_whether_to_interaction_SANT = function (_, generator) {
generator.definitions_['import_sant_g2_ext_mmw'] = 'from sant_g2 import ext_mmw';
generator.definitions_['import_sant_gx_ext_mmw'] = 'from sant_gx import ext_mmw';
var code = 'ext_mmw.result()';
return [code, generator.ORDER_ATOMIC];
}

View File

@@ -148,12 +148,12 @@ div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTr
background-size: 100% auto;
}
#catSANT_G2.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
#catSANT_G3.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
background: url('../../../../common/media/mark/sensor.png') no-repeat;
background-size: 100% auto;
}
#catSANT_G2.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
#catSANT_G3.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon {
background: url('../../../../common/media/mark/sensor2.png') no-repeat;
background-size: 100% auto;
}

View File

@@ -26,7 +26,7 @@ export const mini_g2_rfid_readid = function (_, generator) {
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.read_card(0, x="id")';
} else if(version == "mixgo_sant"){
generator.definitions_['import_sant_g2_ext_rfid'] = 'from sant_g2 import ext_rfid';
generator.definitions_['import_sant_gx_ext_rfid'] = 'from sant_gx import ext_rfid';
var code = 'ext_rfid.read_card(0, x="id")';
}else {
generator.definitions_['import_mini_g2'] = 'import mini_g2';
@@ -42,7 +42,7 @@ export const mini_g2_rfid_readcontent = function (_, generator) {
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.read_card(' + sector + ')';
}else if(version == "mixgo_sant"){
generator.definitions_['import_sant_g2_ext_rfid'] = 'from sant_g2 import ext_rfid';
generator.definitions_['import_sant_gx_ext_rfid'] = 'from sant_gx import ext_rfid';
var code = 'ext_rfid.read_card(' + sector + ')';
} else {
generator.definitions_['import_mini_g2'] = 'import mini_g2';
@@ -59,7 +59,7 @@ export const mini_g2_rfid_write = function (_, generator) {
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')\n';
}else if(version == "mixgo_sant"){
generator.definitions_['import_sant_g2_ext_rfid'] = 'from sant_g2 import ext_rfid';
generator.definitions_['import_sant_gx_ext_rfid'] = 'from sant_gx import ext_rfid';
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')\n';
} else {
generator.definitions_['import_mini_g2'] = 'import mini_g2';
@@ -76,7 +76,7 @@ export const mini_g2_rfid_write_outcome = function (_, generator) {
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')';
}else if(version == "mixgo_sant"){
generator.definitions_['import_sant_g2_ext_rfid'] = 'from sant_g2 import ext_rfid';
generator.definitions_['import_sant_gx_ext_rfid'] = 'from sant_gx import ext_rfid';
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')';
} else {
generator.definitions_['import_mini_g2'] = 'import mini_g2';
@@ -92,7 +92,7 @@ export const mini_g2_rfid_status = function (_, generator) {
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
var code = 'ext_rfid.scan_card()==' + key;
}else if(version == "mixgo_sant"){
generator.definitions_['import_sant_g2_ext_rfid'] = 'from sant_g2 import ext_rfid';
generator.definitions_['import_sant_gx_ext_rfid'] = 'from sant_gx import ext_rfid';
var code = 'ext_rfid.scan_card()==' + key;
} else {
generator.definitions_['import_mini_g2'] = 'import mini_g2';

View File

@@ -2310,22 +2310,133 @@
<block type="GET_PICTURE_DATA"></block>
<block type="SCREEN_SHOW_CAM_GRAPH_SHOOT"></block>
<block type="STOP_SCREEN_DISPLAY"></block>
<block type="INIT_QR_CODE_RECOGNITION"></block>
<block type="START_QR_CODE_RECOGNITION"></block>
<block type="GET_QR_CODE_RECOGNITION_DATA"></block>
<block type="INIT_COLOR_DETECTION"></block>
<block type="START_COLOR_DETECTION"></block>
<block type="GET_COLOR_DETECTION_RESULT"></block>
<block type="INIT_CAT_FACE_DETECTION"></block>
<block type="START_CAT_FACE_DETECTION"></block>
<block type="GET_CAT_FACE_DETECTION_RESULT"></block>
<block type="INIT_PEOPLE_FACE_DETECTION"></block>
<block type="START_PEOPLE_FACE_DETECTION"></block>
<block type="GET_PEOPLE_FACE_DETECTION_RESULT"></block>
<block type="INIT_PEOPLE_FACE_RECOGNITION"></block>
<block type="PEOPLE_FACE_ENROLL"></block>
<block type="GET_PEOPLE_FACE_RECOGNITION_RESULT"></block>
<block type="AI_CAMERA_INIT">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
</block>
<block type="GET_QR_CODE_RECOGNITION_DATA">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
</block>
<block type="GET_COLOR_DETECTION_NUM">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
</block>
<block type="GET_COLOR_DETECTION_LOCATION">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
<value name="NO">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="GET_CAT_FACE_DETECTION_NUM">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
</block>
<block type="GET_CAT_FACE_DETECTION_LOCATION">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
<value name="NO">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="GET_FACE_DETECTION_NUM">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
</block>
<block type="GET_FACE_DETECTION_LOCATION">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
<value name="NO">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="GET_FACE_DETECTION_KEYPOINT_LOCATION">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
<value name="NO">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="GET_FACE_RECOGNITION_ID">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
</block>
<block type="GET_FACE_RECOGNITION_ID_LOCATION">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
<value name="NO">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="GET_FACE_RECOGNITION_ID_KEYPOINT_LOCATION">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
<value name="NO">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="PEOPLE_FACE_ENROLL">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
</block>
<block type="DELETE_PEOPLE_FACE_ID">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">ai</field>
</shadow>
</value>
<value name="ID">
<shadow type="math_number">
<field name="NUM">0</field>

View File

@@ -4095,19 +4095,30 @@ ZhHans.MIXLY_GET_PICTURE_DATA = '获取图像数据';
ZhHans.MIXlY_SCREEN_SHOW_CAM_SHOOT = '屏幕显示摄像头采集图像';
ZhHans.MIXlY_STOP_SCREEN_DISPLAY = '关闭摄像头采集图像LCD实时显示';
ZhHans.MIXLY_RECOGNITION = '检测';
ZhHans.MIXLY_GET_QR_CODE_RECOGNITION_RESULT = '获取二维码检测结果';
ZhHans.MIXLY_GET_QR_CODE_RECOGNITION_RESULT_TOOLTIP = '无检测结果返回None,有结果左上角出现绿色小方块,并返回二维码信息。'
// ZhHans.MIXLY_GET_QR_CODE_RECOGNITION_RESULT = '获取二维码检测结果';
// ZhHans.MIXLY_GET_QR_CODE_RECOGNITION_RESULT_TOOLTIP = '无检测结果返回None,有结果左上角出现绿色小方块,并返回二维码信息。'
ZhHans.COLOUR_RGB_GREY = "灰色";
ZhHans.MIXLY_CUSTOM_STUDY = "自定义学习";
ZhHans.MIXLY_GET_COLOR_DETECTION_RESULT = '获取颜色检测结果';
// ZhHans.MIXLY_GET_COLOR_DETECTION_RESULT = '获取颜色检测结果';
ZhHans.MIXLY_GET_COLOR_DETECTION_RESULT_TOOLTIP ='获取颜色采集结果,返回矩形区域数量和对应的左上角和右下角坐标(4个值)。';
ZhHans.MIXLY_CAT_FACE = '猫脸';
ZhHans.MIXLY_GET_CAT_FACE_DETECTION_RESULT = '获取猫脸检测结果';
ZhHans.MIXLY_GET_CAT_FACE_DETECTION_RESULT_TOOLTIP = '获取猫脸检测结果,返回矩形区域数量和对应的左上角和右下角坐标(4个值)。';
ZhHans.MIXLY_GET_PEOPLE_FACE_DETECTION_RESULT = '获取人脸检测结果';
ZhHans.MIXLY_GET_PEOPLE_FACE_DETECTION_RESULT_TOOLTIP = '获取人脸检测结果,返回矩形区域数量、对应的矩形框左边以及五点关键特征值。说明:v[0]:人脸数量;v[1-4]:矩形左上角和右下角坐标;v[5-14]:左眼、右眼、鼻子、左嘴角、右嘴角坐标。';
ZhHans.MIXLY_GET_PEOPLE_FACE_RECOGNITION_RESULT = '获取人脸识别结果';
ZhHans.MIXLY_GET_PEOPLE_FACE_RECOGNITION_RESULT_TOOLTIP = '获取人脸识别结果,获取人识别结果,返回人脸ID(ID从1开始)、矩形区域和和对应的5点坐标。说明:v[0]:人脸数量;v[1-4]:矩形左上角和右下角坐标;v[5-14]:左眼、右眼、鼻子、左嘴角、右嘴角坐标。';
// ZhHans.MIXLY_GET_PEOPLE_FACE_DETECTION_RESULT = '获取人脸检测结果';
// ZhHans.MIXLY_GET_PEOPLE_FACE_DETECTION_RESULT_TOOLTIP = '获取人脸检测结果,返回矩形区域数量、对应的矩形框左边以及五点关键特征值。说明:v[0]:人脸数量;v[1-4]:矩形左上角和右下角坐标;v[5-14]:左眼、右眼、鼻子、左嘴角、右嘴角坐标。';
// ZhHans.MIXLY_GET_PEOPLE_FACE_RECOGNITION_RESULT = '获取人脸识别结果';
// ZhHans.MIXLY_GET_PEOPLE_FACE_RECOGNITION_RESULT_TOOLTIP = '获取人脸识别结果,获取人识别结果,返回人脸ID(ID从1开始)、矩形区域和和对应的5点坐标。说明:v[0]:人脸数量;v[1-4]:矩形左上角和右下角坐标;v[5-14]:左眼、右眼、鼻子、左嘴角、右嘴角坐标。';
ZhHans.FACE_ENROLL = '录入人脸';
ZhHans.MIXLY_DELETE_PEOPLE_FACE_ID = '删除人脸ID信息';
ZhHans.MIXLY_GET_PICTURE_DATA_TOOLTIP = '返回图像的(宽,高,数据)';
ZhHans.MIXLY_EMOTION_DETEECTION = '情绪检测';
ZhHans.MIXLY_HOW_MUCH = '有几个';
ZhHans.MIXLY_Pixel_block = '像素块';
ZhHans.MIXLY_KEYPOINT = '关键点';
ZhHans.MIXLY_LEFT_EYE = '左眼';
ZhHans.MIXLY_RIGHT_EYE = '右眼';
ZhHans.MIXLY_NOSE = '鼻子';
ZhHans.MIXLY_LEFT_MOUSE_CORNER = '左嘴角';
ZhHans.MIXLY_RIGHT_MOUSE_CORNER = '右嘴角';
ZhHans.MIXLY_RECOGNITION_RECGNITION = '识别';
})();