page-feat68.component.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <ion-content>
  2. <ion-segment [value]="tab" (ionChange)="tabChange($event)">
  3. <ion-segment-button value="models">
  4. <ion-label>模型加载</ion-label>
  5. </ion-segment-button>
  6. <ion-segment-button value="feat68">
  7. <ion-label>特征提取</ion-label>
  8. </ion-segment-button>
  9. <ion-segment-button value="match">
  10. <ion-label>相似对比</ion-label>
  11. </ion-segment-button>
  12. </ion-segment>
  13. @if(tab=="match"){
  14. <ion-button (click)="matchFaces()">开始跑分</ion-button>
  15. @for(face of faceListSelect;track face.photo){
  16. <div style="display: flex;flex-direction: column;">
  17. <div style="display: flex;">
  18. <img style="width: 60%;" [src]="face?.photo" [alt]="face?.title">
  19. <div style="flex:1;display: flex; flex-direction: column;">
  20. @if(face?.distance||face?.score){
  21. <div>差异性 {{face?.distance}}</div>
  22. <div>相似度 {{(face?.score)*100}}%</div>
  23. }
  24. </div>
  25. </div>
  26. </div>
  27. }
  28. }
  29. @if(tab=="feat68"){
  30. @for(face of faceList;track face.photo){
  31. <div style="display: flex;flex-direction: column;">
  32. <div style="display: flex;">
  33. <img #faceimg style="width: 70%;" [src]="face?.photo" [alt]="face?.title">
  34. <div style="flex:1;display: flex; flex-direction: column;">
  35. <ion-button (click)="getFeat68(face,faceimg)">特征向量</ion-button>
  36. @if(face?.feat68){
  37. <div>长度 {{face?.feat68?.length}}</div>
  38. <ion-button (click)="selectFace(face)">选中</ion-button>
  39. }
  40. </div>
  41. </div>
  42. </div>
  43. }
  44. }
  45. @if(tab=="models"){
  46. <div class="test-card">
  47. <h1>精简库加载测试</h1>
  48. <h2 *ngIf="!timeMap['faceload']">...加载中...</h2>
  49. <ng-container *ngIf="timeMap['faceload']">
  50. <h2>加载时间:{{timeMap['faceload']}}秒</h2>
  51. <button (click)="loadFaceApi()">重新测试</button>
  52. </ng-container>
  53. </div>
  54. <div class="test-card">
  55. <h1>完整库加载测试</h1>
  56. <h2 *ngIf="!timeMap['faceloadall']">...加载中...</h2>
  57. <ng-container *ngIf="timeMap['faceloadall']">
  58. <h2>加载时间:{{timeMap['faceloadall']}}秒</h2>
  59. <button (click)="loadFaceApi('faceloadall')">重新测试</button>
  60. </ng-container>
  61. </div>
  62. <div class="test-card">
  63. <h1>单图识别速度测试</h1>
  64. <h2 *ngIf="!timeMap['imgload']">...图片加载中...</h2>
  65. <ng-container *ngIf="timeMap['imgload']">
  66. <h2>图片加载:{{timeMap['imgload']}}秒</h2>
  67. </ng-container>
  68. <h2 *ngIf="!timeMap['detect']">...人脸识别中...</h2>
  69. <ng-container *ngIf="timeMap['detect']">
  70. <h2>人脸识别:{{timeMap['detect']}}秒</h2>
  71. <button (click)="detectFace()">重新测试</button>
  72. </ng-container>
  73. <button *ngIf="detectTimeout" (click)="detectFace()">重新测试</button>
  74. </div>
  75. <div style="text-align: center;">
  76. <button style="width: 80vw;" (click)="doTest()">开始测试</button>
  77. <button style="width: 80vw;" (click)="back()">返回</button>
  78. </div>
  79. }
  80. </ion-content>