sant图像智能更新

This commit is contained in:
Irene-Maxine
2025-10-27 20:26:05 +08:00
parent 7def9bf3a4
commit f721158daf
5 changed files with 359 additions and 134 deletions

View File

@@ -4,6 +4,18 @@ const AI_LOCAL_GRAPH_HUE = '#90A244';
const IOT_HUE = '#526FC3';
const DISPLAY_ONBOARD_HUE = '#569A98';
export const yesorno = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput("")
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE, "False"],
[Blockly.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE, "1"]
]), "state");
this.setOutput(true);
}
};
//voice part
export const VOICE_RECOGNITION_CONTROL = {
init: function () {
@@ -269,7 +281,7 @@ export const CREATE_CAMERA = {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.MIXLY_SMARTCAMERA)
.appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXLY_SHOOTING_SIZE)
.appendField(Blockly.Msg.MIXLY_SHOOTING_SIZE)
.appendField(new Blockly.FieldDropdown([
['240px*240px', "R240X240"],
['320px*320px', "R320X320"],
@@ -280,18 +292,10 @@ export const CREATE_CAMERA = {
['QVGA : 320px*240px', "QVGA"],
['QQVGA : 160px*120px', "QQVGA"]
]), "cmd");
this.appendDummyInput("")
this.appendValueInput("HM")
.appendField(Blockly.Msg.MIXLY_HORIZONTAL_MIRRORING)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE, "False"],
[Blockly.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE, "True"]
]),"hm");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_VERTICAL_MIRRORING)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE, "False"],
[Blockly.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE, "True"]
]),"vf");
this.appendValueInput("VF")
.appendField(Blockly.Msg.MIXLY_VERTICAL_MIRRORING);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
@@ -320,15 +324,83 @@ export const SHOOT_AND_SAVE_PICTURE = {
}
};
export const GET_IMAGE_AND_SAVE = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput("SUB")
.appendField(Blockly.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE)
this.appendValueInput('direct')
.appendField(Blockly.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS + Blockly.Msg.blockpy_turtle_set_num + Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH);
this.appendValueInput('quality')
.appendField(Blockly.Msg.MIXLY_IMAGE_QUALITY);
this.appendDummyInput('')
.appendField(Blockly.Msg.MIXLY_ROTATION_ANGLE)
.appendField(new Blockly.FieldDropdown([
['0','0'],
['90','90'],
['180','180'],
['270','270']
]),'angle');
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
}
};
export const OPEN_IMAGE = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput('direct')
.appendField(Blockly.Msg.MIXLY_MICROBIT_Turn_on_display + Blockly.Msg.MIXLY_MICROBIT_IMAGE + Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH + Blockly.Msg.blockpy_turtle_set_num);
this.appendDummyInput('')
.appendField(Blockly.Msg.MIXLY_ROTATION_ANGLE)
.appendField(new Blockly.FieldDropdown([
['0','0'],
['90','90'],
['180','180'],
['270','270']
]),'angle');
this.setOutput(true);
this.setInputsInline(true);
}
};
export const CAMERA_LOOGOUT = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_LOGOUT + Blockly.Msg.MIXLY_SMARTCAMERA)
this.setPreviousStatement(true,null);
this.setNextStatement(true,null)
this.setInputsInline(true);
}
};
export const GET_PICTURE_DATA_EXACT = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_GET_PICTURE_DATA)
// .appendField(new Blockly.FieldDropdown([
// ["RGB565" + Blockly.Msg.MIXLY_SD_DATA,"0"],
// ["JPG" + Blockly.Msg.MIXLY_SD_DATA,"1"],
// [Blockly.Msg.MIXLY_JPG_base64_CODE + Blockly.Msg.MIXLY_SD_DATA ,"2"]
// ]),"kind")
this.setOutput(true);
this.setInputsInline(true);
}
};
export const CONVERT_IMAGE_TO_JPG = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput("SUB")
.appendField(Blockly.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE)
this.appendDummyInput()
.appendField(Blockly.Msg.A_TO_B)
.appendField(new Blockly.FieldDropdown([
["RGB565" + Blockly.Msg.MIXLY_SD_DATA,"0"],
["JPG" + Blockly.Msg.MIXLY_SD_DATA,"1"],
[Blockly.Msg.MIXLY_JPG_base64_CODE + Blockly.Msg.MIXLY_SD_DATA ,"2"]
["JPG" + Blockly.Msg.MIXLY_SD_DATA,"0"],
[Blockly.Msg.MIXLY_JPG_base64_CODE + Blockly.Msg.MIXLY_SD_DATA ,"1"]
]),"kind")
this.setOutput(true);
this.setInputsInline(true);
@@ -338,12 +410,14 @@ export const GET_PICTURE_DATA_EXACT = {
export const GET_PICTURE_DATA_WHS = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendValueInput("SUB")
.appendField(Blockly.Msg.MIXLY_GET);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_GET_PICTURE_DATA)
.appendField(Blockly.Msg.MIXLY_DE)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_WIDTH,"get_pixel_width"],
[Blockly.Msg.MIXLY_HEIGHT,"get_pixel_height"],
[Blockly.Msg.MIXLY_SMARTCAMERA + Blockly.Msg.MIXLY_MODEL_NUMBER ,"get_sensor_name"]
[Blockly.Msg.MIXLY_WIDTH,"width"],
[Blockly.Msg.MIXLY_HEIGHT,"height"],
[Blockly.Msg.MIXLY_MICROBIT_JS_I2C_FORMAT,"format"]
]),"kind")
this.setOutput(true);
this.setInputsInline(true);
@@ -352,14 +426,9 @@ export const GET_PICTURE_DATA_WHS = {
export const SCREEN_SHOW_CAM_GRAPH_SHOOT = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
this.appendDummyInput('')
.appendField(Blockly.Msg.MIXlY_SCREEN_SHOW_CAM_SHOOT)
// this.appendValueInput('direct')
// .appendField(Blockly.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_IMAGE)
// .appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH);
// this.appendDummyInput('')
// .appendField('(' + Blockly.Msg.MIXLY_ONLY + Blockly.Msg.MIXLY_SUPPORT + 'jpg/jpeg)')
this.setColour(DISPLAY_ONBOARD_HUE);
this.appendValueInput("SUB")
.appendField(Blockly.Msg.MIXLY_MICROBIT_monitor + Blockly.Msg.OLEDDISPLAY + Blockly.Msg.MIXLY_MICROBIT_IMAGE)
this.appendDummyInput('')
.appendField(Blockly.Msg.MIXLY_SYNC_DISPLAY)
.appendField(new Blockly.FieldDropdown([
@@ -398,6 +467,16 @@ export const SCREEN_DISPLAY_IMAGE = {
}
};
export const GET_SCREEN_IMAGE = {
init: function () {
this.setColour(DISPLAY_ONBOARD_HUE);
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_MICROBIT_monitor + Blockly.Msg.MIXLY_MICROBIT_IMAGE)
this.setOutput(true);
this.setInputsInline(true);
}
};
export const AI_CAMERA_INIT = {
init: function () {
this.setColour(AI_LOCAL_GRAPH_HUE);
@@ -413,6 +492,29 @@ export const AI_CAMERA_INIT = {
[Blockly.Msg.MIXLY_HUMAN + Blockly.Msg.MIXLY_RECOGNITION, "HumanDetector"],
[Blockly.Msg.MIXLY_AipFace, "FaceDetector"]
]), "kind");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_WIDTH)
.appendField(new Blockly.FieldDropdown([
["240px","240"],
["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.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
@@ -425,6 +527,29 @@ export const AI_CAMERA_INIT_FACERECOGNIZE = {
this.appendValueInput('SUB')
.appendField(Blockly.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE)
.setCheck("var");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_WIDTH)
.appendField(new Blockly.FieldDropdown([
["240px","240"],
["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.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO)
.appendField(Blockly.Msg.MIXLY_FACE_RECOGNIZER);
@@ -623,7 +748,7 @@ export const Register_color_recognition_fixed = {
.appendField(Blockly.Msg.MIXLY_TENSORFLOW_MODEL)
.setCheck("var");
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_RECOGNITION_RECGNITION + Blockly.Msg.HTML_COLOUR)
.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"],
@@ -649,7 +774,7 @@ export const Register_color_recognition = {
.appendField(Blockly.Msg.MIXLY_TENSORFLOW_MODEL)
.setCheck("var");
this.appendDummyInput("")
.appendField(Blockly.Msg.REGUSTER_COLOR_RECOGNITION)
.appendField(Blockly.Msg.REGISTER_COLOR_RECOGNITION)
this.appendValueInput("MIN")
.appendField('H、S、V' + Blockly.Msg.blockpy_TUPLE_MIN);
this.appendValueInput("MAX")