#Button 'Button_1' 's Command Event :def Button_1_onCommand(uiName,widgetName,threadings=0): image_path = Fun.GetText(uiName,'Entry_1') ObjectRecognizer_1=Fun.GetElement(uiName,'ObjectRecognizer_1') canvas_scalex,canvas_scaley=ObjectRecognizer_1.GetCanvas2ImageScaleXY(uiName = uiName,widgetName='Canvas_1',image_path=image_path) Filter_list=ObjectRecognizer_1.RecognizeCanvas(uiName = uiName,widgetName='Canvas_1',canvas_scalex = canvas_scalex,canvas_scaley = canvas_scaley, show_result=False, save_result=False, result_path=None, conf_threshold=0.05, use_template_matching=True, area_ratio_threshold=0.3, fast_mode=False) ObjectRecognizer_1.DrawResultToCanvas(uiName = uiName,widgetName='Canvas_1', filter_list=Filter_list,canvas_scalex = 1.0,canvas_scaley = 1.0,save_image_path='')
如果想要保存出一个图片文件,可以为save_image_path设置一个文件名,识别时就会将识别后的结果保存为图片。 现在我们的基本工作已经完成,找一张游戏画面图片来识别一下: 我们希望在这张图上识别出这些小怪物,运行程序后,点击”打开图片“按钮,将图片加载并显示到画布上,再点击”进行识别“。 可以看到,已经能识别到一些小怪物啦!但还有一些小怪物识别不成功,这个准确度就需要我们来增强训练数据的同时,对有些阈值参数(置信度、面积)进行优化,下面我们可以对这些参数进行自动优化,我们在点击”打开图片“按钮的函数中,追加”自动优化识别参数“。 这个”自动优化识别参数“可以让图像识别组件根据图像上的目标数来自动调整和优化参数。在这里我们将model_index分别填0,1,2,因为每个小怪物的数量都是2,所以target_count都填2.BestParams=ObjectRecognizer_1.OptimizeRecognition(image_path=openPath,image_scalex = 1.0,image_scaley = 1.0, model_index = 0, target_count = 2, save_to_model = True)BestParams=ObjectRecognizer_1.OptimizeRecognition(image_path=openPath,image_scalex = 1.0,image_scaley = 1.0, model_index = 1, target_count = 2, save_to_model = True)BestParams=ObjectRecognizer_1.OptimizeRecognition(image_path=openPath,image_scalex = 1.0,image_scaley = 1.0, model_index = 2, target_count = 2, save_to_model = True)
再次运行时,在加载完目标大图后,会对每个模型基于数量来进行参数优化,最后将优化后的模型信息保存。 等优化完成后,再次点击”运行识别“按钮,可以看到小乌龟就都识别出来了,不过花怪还没有识别出来,说明有一些训练还是不够,后续可通过增加素材训练和优化参数来增强识别成功率。PyMe官网:www.py-me.com
立即下载:https://pyme.lanzoum.com/i8dOQ3gih2xa
有任何问题,欢迎加入群聊咨询~