板载智能修改
This commit is contained in:
@@ -390,7 +390,9 @@ export const CONVERT_IMAGE_TO_JPG = {
|
|||||||
.appendField(new Blockly.FieldDropdown([
|
.appendField(new Blockly.FieldDropdown([
|
||||||
["JPG" + Blockly.Msg.MIXLY_SD_DATA,"0"],
|
["JPG" + Blockly.Msg.MIXLY_SD_DATA,"0"],
|
||||||
[Blockly.Msg.MIXLY_JPG_base64_CODE + Blockly.Msg.MIXLY_SD_DATA ,"1"]
|
[Blockly.Msg.MIXLY_JPG_base64_CODE + Blockly.Msg.MIXLY_SD_DATA ,"1"]
|
||||||
]),"kind")
|
]),"kind");
|
||||||
|
this.appendValueInput('quality')
|
||||||
|
.appendField(Blockly.Msg.MIXLY_IMAGE_QUALITY);
|
||||||
this.setOutput(true);
|
this.setOutput(true);
|
||||||
this.setInputsInline(true);
|
this.setInputsInline(true);
|
||||||
}
|
}
|
||||||
@@ -426,6 +428,23 @@ export const SCREEN_SHOW_CAM_GRAPH_SHOOT = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION = {
|
||||||
|
init: function () {
|
||||||
|
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||||
|
this.appendValueInput("SUB")
|
||||||
|
.appendField(Blockly.Msg.OLEDDISPLAY + Blockly.Msg.MIXLY_MICROBIT_IMAGE)
|
||||||
|
this.appendValueInput("x")
|
||||||
|
.appendField(Blockly.Msg.TURTLE_POS + "x");
|
||||||
|
this.appendValueInput("y")
|
||||||
|
.appendField("y")
|
||||||
|
this.appendValueInput('boolean')
|
||||||
|
.appendField( Blockly.Msg.MIXLY_synchronize);
|
||||||
|
this.setPreviousStatement(true);
|
||||||
|
this.setNextStatement(true);
|
||||||
|
this.setInputsInline(true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
export const SCREEN_DISPLAY_IMAGE = {
|
export const SCREEN_DISPLAY_IMAGE = {
|
||||||
init: function () {
|
init: function () {
|
||||||
this.setColour(DISPLAY_ONBOARD_HUE);
|
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||||
@@ -448,6 +467,52 @@ export const SCREEN_DISPLAY_IMAGE = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const SCREEN_DISPLAY_IMAGE_LOCATION = {
|
||||||
|
init: function () {
|
||||||
|
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||||
|
this.appendValueInput('direct')
|
||||||
|
.appendField(Blockly.Msg.OLED_BITMAP)
|
||||||
|
.appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH);
|
||||||
|
this.appendValueInput("x")
|
||||||
|
.appendField(Blockly.Msg.TURTLE_POS + "x");
|
||||||
|
this.appendValueInput("y")
|
||||||
|
.appendField("y")
|
||||||
|
this.appendDummyInput('')
|
||||||
|
.appendField(Blockly.Msg.MIXLY_ROTATION_ANGLE)
|
||||||
|
.appendField(new Blockly.FieldDropdown([
|
||||||
|
['0','0'],
|
||||||
|
['90','90'],
|
||||||
|
['180','180'],
|
||||||
|
['270','270']
|
||||||
|
]),'angle');
|
||||||
|
this.appendValueInput('boolean')
|
||||||
|
.appendField( Blockly.Msg.MIXLY_synchronize);
|
||||||
|
this.setPreviousStatement(true);
|
||||||
|
this.setNextStatement(true);
|
||||||
|
this.setInputsInline(true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const GET_SCREEN_IMAGE_SIZE = {
|
||||||
|
init: function () {
|
||||||
|
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||||
|
this.appendDummyInput("")
|
||||||
|
.appendField(Blockly.Msg.MIXLY_SCREENSHOT + Blockly.Msg.MIXLY_MICROBIT_monitor)
|
||||||
|
this.appendValueInput("x")
|
||||||
|
.appendField("x")
|
||||||
|
this.appendValueInput("y")
|
||||||
|
.appendField("y")
|
||||||
|
this.appendValueInput("w")
|
||||||
|
.appendField("w")
|
||||||
|
this.appendValueInput("h")
|
||||||
|
.appendField("h")
|
||||||
|
this.appendDummyInput("")
|
||||||
|
.appendField(Blockly.Msg.blockpy_set_of + Blockly.Msg.MIXLY_MICROBIT_IMAGE)
|
||||||
|
this.setOutput(true);
|
||||||
|
this.setInputsInline(true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
export const GET_SCREEN_IMAGE = {
|
export const GET_SCREEN_IMAGE = {
|
||||||
init: function () {
|
init: function () {
|
||||||
this.setColour(DISPLAY_ONBOARD_HUE);
|
this.setColour(DISPLAY_ONBOARD_HUE);
|
||||||
@@ -471,10 +536,23 @@ export const AI_CAMERA_INIT = {
|
|||||||
[Blockly.Msg.MIXLY_COLOR_RECOGNTITION, "ColorDetector"],
|
[Blockly.Msg.MIXLY_COLOR_RECOGNTITION, "ColorDetector"],
|
||||||
[Blockly.Msg.MIXLY_CAT + Blockly.Msg.MIXLY_RECOGNITION, "CatDetector"],
|
[Blockly.Msg.MIXLY_CAT + Blockly.Msg.MIXLY_RECOGNITION, "CatDetector"],
|
||||||
[Blockly.Msg.MIXLY_HUMAN + Blockly.Msg.MIXLY_RECOGNITION, "HumanDetector"],
|
[Blockly.Msg.MIXLY_HUMAN + Blockly.Msg.MIXLY_RECOGNITION, "HumanDetector"],
|
||||||
[Blockly.Msg.MIXLY_FACE_CLASSIFIER, "FaceDetector"]
|
[Blockly.Msg.MIXLY_FACE_CLASSIFIER, "FaceDetector"],
|
||||||
|
[Blockly.Msg.MIXLY_PICTURE_CLASSIFY,"ImageNet"]
|
||||||
]), "kind");
|
]), "kind");
|
||||||
|
this.appendValueInput("WIDTH")
|
||||||
|
.appendField(Blockly.Msg.MIXLY_WIDTH);
|
||||||
|
this.appendValueInput("HEIGHT")
|
||||||
|
.appendField(Blockly.Msg.MIXLY_HEIGHT);
|
||||||
|
this.setInputsInline(true);
|
||||||
|
this.setPreviousStatement(true, null);
|
||||||
|
this.setNextStatement(true, null);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const MODEL_INIT_WIDTH = {
|
||||||
|
init: function(){
|
||||||
|
this.setColour(AI_LOCAL_GRAPH_HUE);
|
||||||
this.appendDummyInput("")
|
this.appendDummyInput("")
|
||||||
.appendField(Blockly.Msg.MIXLY_WIDTH)
|
|
||||||
.appendField(new Blockly.FieldDropdown([
|
.appendField(new Blockly.FieldDropdown([
|
||||||
["240px","240"],
|
["240px","240"],
|
||||||
["320px","320"],
|
["320px","320"],
|
||||||
@@ -484,8 +562,15 @@ export const AI_CAMERA_INIT = {
|
|||||||
["480px","480"],
|
["480px","480"],
|
||||||
["160px","160"]
|
["160px","160"]
|
||||||
]),"width");
|
]),"width");
|
||||||
|
this.setOutput(true);
|
||||||
|
this.setInputsInline(true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const MODEL_INIT_HEIGHT = {
|
||||||
|
init: function(){
|
||||||
|
this.setColour(AI_LOCAL_GRAPH_HUE);
|
||||||
this.appendDummyInput("")
|
this.appendDummyInput("")
|
||||||
.appendField(Blockly.Msg.MIXLY_HEIGHT)
|
|
||||||
.appendField(new Blockly.FieldDropdown([
|
.appendField(new Blockly.FieldDropdown([
|
||||||
["240px","240"],
|
["240px","240"],
|
||||||
["320px","320"],
|
["320px","320"],
|
||||||
@@ -497,8 +582,7 @@ export const AI_CAMERA_INIT = {
|
|||||||
["120px","120"]
|
["120px","120"]
|
||||||
]),"height");
|
]),"height");
|
||||||
this.setInputsInline(true);
|
this.setInputsInline(true);
|
||||||
this.setPreviousStatement(true, null);
|
this.setOutput(true);
|
||||||
this.setNextStatement(true, null);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -511,29 +595,10 @@ export const AI_CAMERA_INIT_FACERECOGNIZE = {
|
|||||||
this.appendDummyInput("")
|
this.appendDummyInput("")
|
||||||
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO)
|
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO)
|
||||||
.appendField(Blockly.Msg.MIXLY_AipFace);
|
.appendField(Blockly.Msg.MIXLY_AipFace);
|
||||||
this.appendDummyInput("")
|
this.appendValueInput("WIDTH")
|
||||||
.appendField(Blockly.Msg.MIXLY_WIDTH)
|
.appendField(Blockly.Msg.MIXLY_WIDTH);
|
||||||
.appendField(new Blockly.FieldDropdown([
|
this.appendValueInput("HEIGHT")
|
||||||
["240px","240"],
|
.appendField(Blockly.Msg.MIXLY_HEIGHT);
|
||||||
["320px","320"],
|
|
||||||
["128px","128"],
|
|
||||||
["96px","96"],
|
|
||||||
["640px","640"],
|
|
||||||
["480px","480"],
|
|
||||||
["160px","160"]
|
|
||||||
]),"width");
|
|
||||||
this.appendDummyInput("")
|
|
||||||
.appendField(Blockly.Msg.MIXLY_HEIGHT)
|
|
||||||
.appendField(new Blockly.FieldDropdown([
|
|
||||||
["240px","240"],
|
|
||||||
["320px","320"],
|
|
||||||
["128px","128"],
|
|
||||||
["96px","96"],
|
|
||||||
["480px","480"],
|
|
||||||
["320px","320"],
|
|
||||||
["240px","240"],
|
|
||||||
["120px","120"]
|
|
||||||
]),"height");
|
|
||||||
this.appendValueInput("PATH")
|
this.appendValueInput("PATH")
|
||||||
.appendField(Blockly.Msg.PATH_OF_FACE_DATABASE);
|
.appendField(Blockly.Msg.PATH_OF_FACE_DATABASE);
|
||||||
this.setInputsInline(true);
|
this.setInputsInline(true);
|
||||||
@@ -616,7 +681,8 @@ export const GET_NO_RECOGNITION = {
|
|||||||
[Blockly.Msg.HTML_COLOUR, "ColorDetector"],
|
[Blockly.Msg.HTML_COLOUR, "ColorDetector"],
|
||||||
[Blockly.Msg.MIXLY_CAT, "CatDetector"],
|
[Blockly.Msg.MIXLY_CAT, "CatDetector"],
|
||||||
[Blockly.Msg.MIXLY_HUMAN, "HumanDetector"],
|
[Blockly.Msg.MIXLY_HUMAN, "HumanDetector"],
|
||||||
[Blockly.Msg.MIXLY_FACE, "FaceDetector"]
|
[Blockly.Msg.MIXLY_FACE, "FaceDetector"],
|
||||||
|
[Blockly.Msg.MIXLY_PICTURE_CLASSIFY,"ImageNet"]
|
||||||
]), "kind");
|
]), "kind");
|
||||||
this.appendDummyInput("")
|
this.appendDummyInput("")
|
||||||
.appendField(Blockly.Msg.MIXLY_DE + Blockly.Msg.OLED_STRING);
|
.appendField(Blockly.Msg.MIXLY_DE + Blockly.Msg.OLED_STRING);
|
||||||
@@ -639,7 +705,8 @@ export const GET_NO_CAT_OR_FACE_RECOGNITION = {
|
|||||||
[Blockly.Msg.HTML_COLOUR, "ColorDetector"],
|
[Blockly.Msg.HTML_COLOUR, "ColorDetector"],
|
||||||
[Blockly.Msg.MIXLY_CAT, "CatDetector"],
|
[Blockly.Msg.MIXLY_CAT, "CatDetector"],
|
||||||
[Blockly.Msg.MIXLY_HUMAN, "HumanDetector"],
|
[Blockly.Msg.MIXLY_HUMAN, "HumanDetector"],
|
||||||
[Blockly.Msg.MIXLY_FACE, "FaceDetector"]
|
[Blockly.Msg.MIXLY_FACE, "FaceDetector"],
|
||||||
|
[Blockly.Msg.MIXLY_PICTURE_CLASSIFY,"ImageNet"]
|
||||||
]), "kind");
|
]), "kind");
|
||||||
this.appendDummyInput("")
|
this.appendDummyInput("")
|
||||||
.appendField(Blockly.Msg.MIXLY_DE + Blockly.Msg.MIXLY_CONFIDENCE_DEGREE);
|
.appendField(Blockly.Msg.MIXLY_DE + Blockly.Msg.MIXLY_CONFIDENCE_DEGREE);
|
||||||
@@ -851,6 +918,20 @@ export const GET_QR_CODE_RECOGNITION_DATA = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const GET_PICTURE_RECOGNITION_DATA = {
|
||||||
|
init: function () {
|
||||||
|
this.setColour(AI_LOCAL_GRAPH_HUE);
|
||||||
|
this.appendValueInput('SUB')
|
||||||
|
.setCheck("var");
|
||||||
|
this.appendDummyInput()
|
||||||
|
.appendField(Blockly.Msg.MIXLY_GET_PICTURE_CLASSIFY_RESULT);
|
||||||
|
this.appendValueInput('boolean')
|
||||||
|
.appendField( Blockly.Msg.MIXLY_synchronize);
|
||||||
|
this.setOutput(true);
|
||||||
|
this.setInputsInline(true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
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);
|
||||||
@@ -1174,7 +1255,8 @@ export const AI_CAMERA_INIT_SIMPLE = {
|
|||||||
[Blockly.Msg.MIXLY_CAT + Blockly.Msg.MIXLY_RECOGNITION, "CatDetector"],
|
[Blockly.Msg.MIXLY_CAT + Blockly.Msg.MIXLY_RECOGNITION, "CatDetector"],
|
||||||
[Blockly.Msg.MIXLY_HUMAN + Blockly.Msg.MIXLY_RECOGNITION, "HumanDetector"],
|
[Blockly.Msg.MIXLY_HUMAN + Blockly.Msg.MIXLY_RECOGNITION, "HumanDetector"],
|
||||||
[Blockly.Msg.MIXLY_FACE_CLASSIFIER, "FaceDetector"],
|
[Blockly.Msg.MIXLY_FACE_CLASSIFIER, "FaceDetector"],
|
||||||
[Blockly.Msg.MIXLY_AipFace,"FaceRecognizer"]
|
[Blockly.Msg.MIXLY_AipFace,"FaceRecognizer"],
|
||||||
|
[Blockly.Msg.MIXLY_PICTURE_CLASSIFY,"ImageNet"]
|
||||||
]), "kind");
|
]), "kind");
|
||||||
this.setInputsInline(true);
|
this.setInputsInline(true);
|
||||||
this.setPreviousStatement(true, null);
|
this.setPreviousStatement(true, null);
|
||||||
|
|||||||
@@ -177,7 +177,8 @@ export const CONVERT_IMAGE_TO_JPG = function (_, generator) {
|
|||||||
generator.definitions_['camera_import_Image'] = 'from camera import Image';
|
generator.definitions_['camera_import_Image'] = 'from camera import Image';
|
||||||
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
||||||
var kind = this.getFieldValue('kind');
|
var kind = this.getFieldValue('kind');
|
||||||
var code = 'Image.convert(' + sub + ', formats=' + kind + ')';
|
var q = generator.valueToCode(this, 'quality', generator.ORDER_ATOMIC);
|
||||||
|
var code = 'Image.convert(' + sub + ', formats=' + kind + ', quality='+ q +')';
|
||||||
return [code, generator.ORDER_ATOMIC];
|
return [code, generator.ORDER_ATOMIC];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,6 +199,17 @@ export const SCREEN_SHOW_CAM_GRAPH_SHOOT = function (_, generator) {
|
|||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION = function (_, generator) {
|
||||||
|
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||||
|
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
|
||||||
|
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
||||||
|
var x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC);
|
||||||
|
var y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC);
|
||||||
|
var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC);
|
||||||
|
var code = 'onboard_tft.display(' + sub +',x='+x+',x='+y+', sync='+ bool +')\n';
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
export const SCREEN_DISPLAY_IMAGE = function (_, generator) {
|
export const SCREEN_DISPLAY_IMAGE = function (_, generator) {
|
||||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||||
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
|
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
|
||||||
@@ -208,6 +220,18 @@ export const SCREEN_DISPLAY_IMAGE = function (_, generator) {
|
|||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const SCREEN_DISPLAY_IMAGE_LOCATION = function (_, generator) {
|
||||||
|
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||||
|
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
|
||||||
|
var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC);
|
||||||
|
var x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC);
|
||||||
|
var y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC);
|
||||||
|
var a = this.getFieldValue('angle');
|
||||||
|
var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC);
|
||||||
|
var code = 'onboard_tft.display(' + direct +',x='+x+',x='+y + ',rotation=' + a + ',sync='+ bool + ')\n';
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
export const GET_SCREEN_IMAGE = function (_, generator) {
|
export const GET_SCREEN_IMAGE = function (_, generator) {
|
||||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||||
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
|
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
|
||||||
@@ -215,22 +239,45 @@ export const GET_SCREEN_IMAGE = function (_, generator) {
|
|||||||
return [code, generator.ORDER_ATOMIC];
|
return [code, generator.ORDER_ATOMIC];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const GET_SCREEN_IMAGE_SIZE = function (_, generator) {
|
||||||
|
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||||
|
generator.definitions_['import_' + version + '_onboard_tft'] = "from " + version + " import onboard_tft";
|
||||||
|
var x = generator.valueToCode(this, 'x', generator.ORDER_ATOMIC);
|
||||||
|
var y = generator.valueToCode(this, 'y', generator.ORDER_ATOMIC);
|
||||||
|
var w = generator.valueToCode(this, 'w', generator.ORDER_ATOMIC);
|
||||||
|
var h = generator.valueToCode(this, 'h', generator.ORDER_ATOMIC);
|
||||||
|
var code = 'screenshot(x='+x+',y='+y+',w='+w+',h='+h+')';
|
||||||
|
return [code, generator.ORDER_ATOMIC];
|
||||||
|
}
|
||||||
|
|
||||||
export const AI_CAMERA_INIT = function (_, generator) {
|
export const AI_CAMERA_INIT = function (_, generator) {
|
||||||
generator.definitions_['import_esp_dl'] = 'import esp_dl';
|
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 cmd = this.getFieldValue('kind');
|
var cmd = this.getFieldValue('kind');
|
||||||
var width = this.getFieldValue('width');
|
var width = generator.valueToCode(this, 'WIDTH', generator.ORDER_ATOMIC);
|
||||||
var height = this.getFieldValue('height');
|
var height = generator.valueToCode(this, 'HEIGHT', generator.ORDER_ATOMIC);
|
||||||
var code = sub +' = esp_dl.'+cmd + '(width='+width+', height='+height+')\n';
|
var code = sub +' = esp_dl.'+cmd + '(width='+width+', height='+height+')\n';
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const MODEL_INIT_WIDTH = function (_, generator) {
|
||||||
|
var width = this.getFieldValue('width');
|
||||||
|
var code = width;
|
||||||
|
return [code, generator.ORDER_ATOMIC];
|
||||||
|
}
|
||||||
|
|
||||||
|
export const MODEL_INIT_HEIGHT = function (_, generator) {
|
||||||
|
var height = this.getFieldValue('height');
|
||||||
|
var code = height;
|
||||||
|
return [code, generator.ORDER_ATOMIC];
|
||||||
|
}
|
||||||
|
|
||||||
export const AI_CAMERA_INIT_FACERECOGNIZE = function (_, generator) {
|
export const AI_CAMERA_INIT_FACERECOGNIZE = function (_, generator) {
|
||||||
generator.definitions_['import_esp_dl'] = 'import esp_dl';
|
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 path = generator.valueToCode(this, 'PATH', generator.ORDER_ATOMIC);
|
var path = generator.valueToCode(this, 'PATH', generator.ORDER_ATOMIC);
|
||||||
var width = this.getFieldValue('width');
|
var width = generator.valueToCode(this, 'WIDTH', generator.ORDER_ATOMIC);
|
||||||
var height = this.getFieldValue('height');
|
var height = generator.valueToCode(this, 'HEIGHT', generator.ORDER_ATOMIC);
|
||||||
var code = sub +' = esp_dl.FaceRecognizer(width='+width+', height='+height+', db_path='+ path +')\n';
|
var code = sub +' = esp_dl.FaceRecognizer(width='+width+', height='+height+', db_path='+ path +')\n';
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
@@ -374,6 +421,14 @@ export const GET_QR_CODE_RECOGNITION_DATA = function (_, generator) {
|
|||||||
return [code, generator.ORDER_ATOMIC];
|
return [code, generator.ORDER_ATOMIC];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const GET_PICTURE_RECOGNITION_DATA = function (_, generator) {
|
||||||
|
generator.definitions_['import_esp_dl'] = 'import esp_dl'
|
||||||
|
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
||||||
|
var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC);
|
||||||
|
var code = 'esp_dl.simple_run('+ sub + ', camera, "data", color=0xF800, sync='+bool+')';
|
||||||
|
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'
|
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);
|
||||||
@@ -425,7 +480,7 @@ export const GET_FACE_DETECTION_NAME = function (_, generator) {
|
|||||||
generator.definitions_['import_esp_dl'] = 'import esp_dl'
|
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 bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC);
|
var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC);
|
||||||
var code = 'esp_dl.simple_run('+ sub + ', "person", color=0xF800, sync='+bool+')["name"]\n';
|
var code = 'esp_dl.simple_run('+ sub + ', camera, "person", "name", color=0xF800, sync='+bool+')';
|
||||||
return [code, generator.ORDER_ATOMIC];
|
return [code, generator.ORDER_ATOMIC];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2456,11 +2456,19 @@
|
|||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
<block type="AI_CAMERA_INIT_SIMPLE">
|
<block type="AI_CAMERA_INIT_SIMPLE">
|
||||||
<value name="SUB">
|
<value name="SUB">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
<field name="VAR">Model</field>
|
<field name="VAR">Model</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="WIDTH">
|
||||||
|
<shadow type="MODEL_INIT_WIDTH">
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="HEIGHT">
|
||||||
|
<shadow type="MODEL_INIT_HEIGHT ">
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
</block>
|
</block>
|
||||||
<block type="Register_color_recognition_fixed_SIMPLE">
|
<block type="Register_color_recognition_fixed_SIMPLE">
|
||||||
<value name="SUB">
|
<value name="SUB">
|
||||||
@@ -2499,6 +2507,17 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="GET_PICTURE_RECOGNITION_DATA">
|
||||||
|
<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_COLOR_DETECTION_NUM">
|
<block type="GET_COLOR_DETECTION_NUM">
|
||||||
<value name="SUB">
|
<value name="SUB">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
@@ -2685,6 +2704,11 @@
|
|||||||
<field name="VAR">image</field>
|
<field name="VAR">image</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="quality">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">90</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
</block>
|
</block>
|
||||||
<block type="GET_PICTURE_DATA_WHS">
|
<block type="GET_PICTURE_DATA_WHS">
|
||||||
<value name="SUB">
|
<value name="SUB">
|
||||||
@@ -2734,12 +2758,60 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="SCREEN_DISPLAY_IMAGE_LOCATION">
|
||||||
|
<value name="direct">
|
||||||
|
<shadow type="text">
|
||||||
|
<field name="TEXT">mixly.jpg</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="x">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">0</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="y">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">0</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="boolean">
|
||||||
|
<shadow type="logic_boolean">
|
||||||
|
</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">
|
||||||
<block type="GET_SCREEN_IMAGE"></block>
|
<block type="GET_SCREEN_IMAGE"></block>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="variables_set">
|
||||||
|
<field name="VAR">image</field>
|
||||||
|
<value name="VALUE">
|
||||||
|
<block type="GET_SCREEN_IMAGE_SIZE">
|
||||||
|
<value name="x">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">0</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="y">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">0</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="w">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">240</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="h">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">240</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
<block type="SCREEN_SHOW_CAM_GRAPH_SHOOT">
|
<block type="SCREEN_SHOW_CAM_GRAPH_SHOOT">
|
||||||
<value name="SUB">
|
<value name="SUB">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
@@ -2751,12 +2823,41 @@
|
|||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
</block>
|
</block>
|
||||||
|
<block type="SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION">
|
||||||
|
<value name="SUB">
|
||||||
|
<shadow type="variables_get">
|
||||||
|
<field name="VAR">image</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="x">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">0</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="y">
|
||||||
|
<shadow type="math_number">
|
||||||
|
<field name="NUM">0</field>
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="boolean">
|
||||||
|
<shadow type="logic_boolean">
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
</block>
|
||||||
<block type="AI_CAMERA_INIT">
|
<block type="AI_CAMERA_INIT">
|
||||||
<value name="SUB">
|
<value name="SUB">
|
||||||
<shadow type="variables_get">
|
<shadow type="variables_get">
|
||||||
<field name="VAR">Model</field>
|
<field name="VAR">Model</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="WIDTH">
|
||||||
|
<shadow type="MODEL_INIT_WIDTH">
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="HEIGHT">
|
||||||
|
<shadow type="MODEL_INIT_HEIGHT">
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
</block>
|
</block>
|
||||||
<block type="AI_CAMERA_INIT_FACERECOGNIZE">
|
<block type="AI_CAMERA_INIT_FACERECOGNIZE">
|
||||||
<value name="SUB">
|
<value name="SUB">
|
||||||
@@ -2764,6 +2865,14 @@
|
|||||||
<field name="VAR">Model</field>
|
<field name="VAR">Model</field>
|
||||||
</shadow>
|
</shadow>
|
||||||
</value>
|
</value>
|
||||||
|
<value name="WIDTH">
|
||||||
|
<shadow type="MODEL_INIT_WIDTH">
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
|
<value name="HEIGHT">
|
||||||
|
<shadow type="MODEL_INIT_HEIGHT">
|
||||||
|
</shadow>
|
||||||
|
</value>
|
||||||
<value name="PATH">
|
<value name="PATH">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
<field name="TEXT">face.db</field>
|
<field name="TEXT">face.db</field>
|
||||||
|
|||||||
@@ -4242,4 +4242,7 @@ ZhHans.print_the_contents_of_the_face_database = '打印人脸数据库的内容
|
|||||||
ZhHans.MIXLY_FACE_ID = '面容ID';
|
ZhHans.MIXLY_FACE_ID = '面容ID';
|
||||||
ZhHans.MILXY_FACE_SIMILARITY = '面容相似度';
|
ZhHans.MILXY_FACE_SIMILARITY = '面容相似度';
|
||||||
ZhHans.MIXLY_FACE_NAME = '面容姓名';
|
ZhHans.MIXLY_FACE_NAME = '面容姓名';
|
||||||
|
ZhHans.MIXLY_PICTURE_CLASSIFY = '图像分类';
|
||||||
|
ZhHans.MIXLY_GET_PICTURE_CLASSIFY_RESULT = '获取图像分类结果';
|
||||||
|
ZhHans.MIXLY_SCREENSHOT = '截取';
|
||||||
})();
|
})();
|
||||||
Reference in New Issue
Block a user