This commit is contained in:
Irene-Maxine
2025-10-26 14:27:22 +08:00
parent 00d1c46627
commit 3d0119ba7d
4 changed files with 780 additions and 44 deletions

View File

@@ -124,15 +124,19 @@ export const CI130X_BROADCAST_SYSTEM_TIME = function (_, generator) {
//graph part
export const CREATE_CAMERA = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2];
generator.definitions_['import_camera'] = 'import camera';
generator.definitions_['import_Camera_FrameSize_PixelFormat'] = 'from camera import Camera,FrameSize,PixelFormat';
var cmd = this.getFieldValue('cmd');
var code = 'cam = camera.GC032A(camera.' + cmd + ')\n';
var hm = this.getFieldValue('hm');
var vf = this.getFieldValue('vf');
var code = 'cam = Camera(FrameSize.' + cmd + ',hmirror='+ hm + ',vflip='+ vf +')\n';
return code;
}
export const SHOOT_AND_SAVE_PICTURE = function (_, generator) {
var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC);
var code = 'cam.snapshot(' + direct + ')\n';
var q = generator.valueToCode(this, 'quality', generator.ORDER_ATOMIC);
var a = this.getFieldValue('angle');
var code = 'cam.snapshot(' + direct + ',quality='+ q + ',rotation=' + a + ')\n';
return code;
}
@@ -143,17 +147,166 @@ export const GET_PICTURE_DATA_EXACT = function (_, generator) {
return [code, generator.ORDER_ATOMIC];
}
export const GET_PICTURE_DATA_WHS = function (_, generator) {
var kind = this.getFieldValue('kind');
var code = 'cam.' + kind +'()';
return [code, generator.ORDER_ATOMIC];
}
export const SCREEN_SHOW_CAM_GRAPH_SHOOT = function (_, generator) {
var bool = generator.valueToCode(this, 'boolean', generator.ORDER_ATOMIC);
var code = 'cam.display(show='+ bool +')\n';
var s = this.getFieldValue('sync');
var code = 'onboard_tft.display(data, sync='+ s +')\n';
return code;
}
export const SCREEN_DISPLAY_IMAGE = function (_, generator) {
var direct = generator.valueToCode(this, 'direct', generator.ORDER_ATOMIC);
var a = this.getFieldValue('angle');
var s = this.getFieldValue('sync');
var code = 'onboard_tft.display(' + direct + ',rotation=' + a + ',sync='+ s + ')\n';
return code;
}
export const AI_CAMERA_INIT = function (_, generator) {
generator.definitions_['import_ai_camera'] = 'import ai_camera';
generator.definitions_['import_esp_dl'] = 'import esp_dl';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var cmd = this.getFieldValue('kind');
var code = sub +' = ai_camera.AI(ai_camera.' + cmd + ')\n';
var code = sub +' = esp_dl.'+cmd + '(width=cam.get_pixel_width(), height=cam.get_pixel_height())\n';
return code;
}
export const AI_CAMERA_INIT_FACERECOGNIZE = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl';
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var path = generator.valueToCode(this, 'PATH', generator.ORDER_ATOMIC);
var code = sub +' = esp_dl.FaceRecognizer(width=cam.get_pixel_width(), height=cam.get_pixel_height(), db_path='+ path +')\n';
return code;
}
export const MODEL_LOGOUT = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = 'del '+sub + '\n';
return code;
}
export const MODEL_RUN = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var frame = generator.valueToCode(this, 'FRAME', generator.ORDER_ATOMIC);
var code = sub + '.run(' + frame +')';
return [code, generator.ORDER_ATOMIC];
}
export const MODEL_WHETHER_RUN_SUCCEED = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = 'esp_dl.analyze(' + sub +')';
return [code, generator.ORDER_ATOMIC];
}
export const GET_HOW_MUCH_RECOGNITION = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = 'esp_dl.analyze(' + sub +',"len")';
return [code, generator.ORDER_ATOMIC];
}
export const GET_NO_RECOGNITION = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var no = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
var code = 'esp_dl.analyze(' + sub +',"data",'+ no + ')';
return [code, generator.ORDER_ATOMIC];
}
export const GET_NO_XY_RECOGNITION = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var no = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
var coord = this.getFieldValue('coord');
if(coord == "all"){
var code = 'esp_dl.analyze(' + sub +',"box",'+ no + ')';
}else{
var code = 'esp_dl.analyze(' + sub +',"box",'+ no + ')['+ coord +']';
}
return [code, generator.ORDER_ATOMIC];
}
export const GET_NO_XY_RECOGNITION_FACE = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var no = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
var part = this.getFieldValue('part');
if(part == "all"){
var code = 'esp_dl.analyze(' + sub +',"features",'+ no + ')';
}else{
var code = 'esp_dl.analyze(' + sub +',"features",'+ no + ')' +part;
}
return [code, generator.ORDER_ATOMIC];
}
export const GET_NO_CAT_OR_FACE_RECOGNITION = function (_, generator) {
generator.definitions_['import_esp_dl'] = 'import esp_dl'
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var no = generator.valueToCode(this, 'NO', generator.ORDER_ATOMIC);
var code = 'esp_dl.analyze(' + sub +',"score",'+ no + ')';
return [code, generator.ORDER_ATOMIC];
}
export const Register_color_recognition_fixed= function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var color = this.getFieldValue('color');
var area = generator.valueToCode(this, 'AREA', generator.ORDER_ATOMIC);
if (color == "red"){
var code = sub + '.register_color((170, 100, 100), (10, 255, 255),'+ color +', area_threshold='+ area + ')\n';
}else if(color == "green"){
var code = sub + '.register_color((35, 100, 100), (85, 255, 255),'+ color +', area_threshold='+ area + ')\n';
}else if(color == "blue"){
var code = sub + '.register_color((100, 100, 100), (130, 255, 255),'+ color +', area_threshold='+ area + ')\n';
}else if(color == "yellow"){
var code = sub + '.register_color((20, 100, 100), (35, 255, 255),'+ color +', area_threshold='+ area + ')\n';
}else if(color == "cyan"){
var code = sub + '.register_color((85, 100, 100), (100, 255, 255),'+ color +', area_threshold='+ area + ')\n';
}else if(color == "purple"){
var code = sub + '.register_color((130, 100, 100), (150, 255, 255),'+ color +', area_threshold='+ area + ')\n';
}else if(color == "black"){
var code = sub + '.register_color((0, 0, 0), (180, 255, 50),'+ color +', area_threshold='+ area + ')\n';
}else if(color == "white"){
var code = sub + '.register_color((0, 0, 200), (180, 50, 255),'+ color +', area_threshold='+ area + ')\n';
}
return code;
}
export const Register_color_recognition = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var min = generator.valueToCode(this, 'MIN', generator.ORDER_ATOMIC);
var max = generator.valueToCode(this, 'MAX', generator.ORDER_ATOMIC);
var color = generator.valueToCode(this, 'COLOR', generator.ORDER_ATOMIC);
var area = generator.valueToCode(this, 'AREA', generator.ORDER_ATOMIC);
var code = sub + '.register_color(' + min +', '+ max +', '+ color +', area_threshold='+ area + ')\n';
return code;
}
export const REGISTER_NEW_FACE = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var min = generator.valueToCode(this, 'MIN', generator.ORDER_ATOMIC);
var max = generator.valueToCode(this, 'MAX', generator.ORDER_ATOMIC);
var color = generator.valueToCode(this, 'COLOR', generator.ORDER_ATOMIC);
var area = generator.valueToCode(this, 'AREA', generator.ORDER_ATOMIC);
var code = sub + '.enroll(' + min +', '+ max +', '+ color +', area_threshold='+ area + ')\n';
return code;
}
export const DELETE_FACE_FROM_DATABASE = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var id = generator.valueToCode(this, 'ID', generator.ORDER_ATOMIC);
var code = sub + '.delete_face(' + id + ')\n';
return code;
}
export const PRINT_FACE_DATABASE = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var code = sub + '.print_database()\n';
return code;
}