Browse Source

init

master
diven 2 years ago
parent
commit
24c9d997b2
  1. 2
      open-anpr-core/src/main/java/com/visual/open/anpr/core/domain/PlateInfo.java
  2. 18
      open-anpr-core/src/main/java/com/visual/open/anpr/core/models/TorchPlateDetection.java
  3. 7
      open-anpr-server/src/main/java/com/visual/open/anpr/server/bootstrap/conf/ServerConfig.java
  4. 2
      open-anpr-server/src/main/resources/application-docker.yml

2
open-anpr-core/src/main/java/com/visual/open/anpr/core/domain/PlateInfo.java

@ -59,7 +59,7 @@ public class PlateInfo implements Comparable<PlateInfo>, Serializable {
* 对车牌框进行旋转对应的角度
* @return
*/
public PlateBox rotateFaceBox(){
public PlateBox rotatePlateBox(){
return this.box.rotate(this.angle);
}

18
open-anpr-core/src/main/java/com/visual/open/anpr/core/models/TorchPlateDetection.java

@ -194,26 +194,26 @@ public class TorchPlateDetection extends BaseOnnxInfer implements PlateDetection
while(!boxes.isEmpty()){
Iterator<float[]> iterator = boxes.iterator();
//获取第一个元素,并删除元素
float[] firstFace = iterator.next();
float[] firstPlate = iterator.next();
iterator.remove();
//对比后面元素与第一个元素之间的iou
while (iterator.hasNext()) {
float[] nextFace = iterator.next();
float x1=Math.max(firstFace[0], nextFace[0]);
float y1=Math.max(firstFace[1], nextFace[1]);
float x2=Math.min(firstFace[2], nextFace[2]);
float y2=Math.min(firstFace[3], nextFace[3]);
float[] nextPlate = iterator.next();
float x1=Math.max(firstPlate[0], nextPlate[0]);
float y1=Math.max(firstPlate[1], nextPlate[1]);
float x2=Math.min(firstPlate[2], nextPlate[2]);
float y2=Math.min(firstPlate[3], nextPlate[3]);
float w = Math.max(0, x2-x1);
float h = Math.max(0, y2-y1);
float inter_area = w * h;
float union_area = (firstFace[2] - firstFace[0]) * (firstFace[3] - firstFace[1]) +
(nextFace[2] - nextFace[0]) * (nextFace[3] - nextFace[1]);
float union_area = (firstPlate[2] - firstPlate[0]) * (firstPlate[3] - firstPlate[1]) +
(nextPlate[2] - nextPlate[0]) * (nextPlate[3] - nextPlate[1]);
float iou = inter_area/(union_area-inter_area);
if(iou >= iouTh){
iterator.remove();
}
}
result.add(firstFace);
result.add(firstPlate);
}
return result;
}

7
open-anpr-server/src/main/java/com/visual/open/anpr/server/bootstrap/conf/ServerConfig.java

@ -10,10 +10,6 @@ public class ServerConfig {
@ComponentScan("com.visual.open.anpr.server.utils")
public static class SearchUtils {}
@Configuration
@ComponentScan("com.visual.open.anpr.server.config")
public static class SearchConfig {}
@Configuration
@ComponentScan({"com.visual.open.anpr.server.service"})
public static class ServiceConfig {}
@ -22,7 +18,4 @@ public class ServerConfig {
@ComponentScan({"com.visual.open.anpr.server.controller"})
public static class ControllerConfig {}
@Configuration
@ComponentScan({"com.visual.open.anpr.server.scheduler"})
public static class SchedulerConfig {}
}

2
open-anpr-server/src/main/resources/application-docker.yml

@ -16,7 +16,7 @@ server:
# 日志配置
logging:
level:
com.visual.face.search: info
com.visual.open.anpr: info
org.springframework: warn
# 模型配置

Loading…
Cancel
Save