更新接口
This commit is contained in:
		
							
								
								
									
										22
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								main.py
									
									
									
									
									
								
							@@ -361,8 +361,8 @@ class MainWindow(QMainWindow):
 | 
			
		||||
            # 矫正车牌图像
 | 
			
		||||
            corrected_image = self.correct_license_plate(detection)
 | 
			
		||||
            
 | 
			
		||||
            # 获取车牌号(占位)
 | 
			
		||||
            plate_number = self.recognize_plate_number(corrected_image)
 | 
			
		||||
            # 获取车牌号,传入车牌类型信息
 | 
			
		||||
            plate_number = self.recognize_plate_number(corrected_image, detection['class_name'])
 | 
			
		||||
            
 | 
			
		||||
            # 创建车牌显示组件
 | 
			
		||||
            plate_widget = LicensePlateWidget(
 | 
			
		||||
@@ -389,7 +389,7 @@ class MainWindow(QMainWindow):
 | 
			
		||||
            detection['keypoints']
 | 
			
		||||
        )
 | 
			
		||||
    
 | 
			
		||||
    def recognize_plate_number(self, corrected_image):
 | 
			
		||||
    def recognize_plate_number(self, corrected_image, class_name):
 | 
			
		||||
        """识别车牌号"""
 | 
			
		||||
        if corrected_image is None:
 | 
			
		||||
            return "识别失败"
 | 
			
		||||
@@ -399,9 +399,21 @@ class MainWindow(QMainWindow):
 | 
			
		||||
            # 函数名改成一样的了,所以不要修改这里了,想用哪个模块直接导入
 | 
			
		||||
            result = LPRNmodel_predict(corrected_image)
 | 
			
		||||
            
 | 
			
		||||
            # 将字符列表转换为字符串
 | 
			
		||||
            # 将字符列表转换为字符串,支持8位车牌号
 | 
			
		||||
            if isinstance(result, list) and len(result) >= 7:
 | 
			
		||||
                return ''.join(result[:7])
 | 
			
		||||
                # 根据车牌类型决定显示位数
 | 
			
		||||
                if class_name == '绿牌' and len(result) >= 8:
 | 
			
		||||
                    # 绿牌显示8位,过滤掉空字符占位符
 | 
			
		||||
                    plate_chars = [char for char in result[:8] if char != '']
 | 
			
		||||
                    # 如果过滤后确实有8位,显示8位;否则显示7位
 | 
			
		||||
                    if len(plate_chars) == 8:
 | 
			
		||||
                        return ''.join(plate_chars)
 | 
			
		||||
                    else:
 | 
			
		||||
                        return ''.join(plate_chars[:7])
 | 
			
		||||
                else:
 | 
			
		||||
                    # 蓝牌或其他类型显示前7位,过滤掉空字符
 | 
			
		||||
                    plate_chars = [char for char in result[:7] if char != '']
 | 
			
		||||
                    return ''.join(plate_chars)
 | 
			
		||||
            else:
 | 
			
		||||
                return "识别失败"
 | 
			
		||||
        except Exception as e:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user