001// ______________________________________________________ 002// Generated by codegen - https://gitee.com/l0km/codegen 003// template: decorator/decorator.generic.class.vm 004// ______________________________________________________ 005package net.gdface.sdk; 006import java.io.File; 007import java.io.IOException; 008import java.io.InputStream; 009import java.net.URL; 010import java.nio.ByteBuffer; 011import java.util.List; 012import java.util.Map; 013import net.gdface.image.ImageErrorException; 014import net.gdface.image.MatType; 015import net.gdface.utils.BinaryUtils; 016/** 017 * decorator pattern 装饰者模式实现基于{@link FaceApiDecorator}的支持泛型方法参数{@link FaceApi}接口<br> 018 * 所有 byte[] 类型的参数都支持泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)}<br> 019 * 注意:<br> 020 * 参数为{@link java.io.InputStream}的方法返回时会自动执行{@link java.io.InputStream#close()}关闭流<br> 021 * 参见 {@link net.gdface.utils.BinaryUtils#readBytes(java.io.InputStream)}<br> 022 * unchecked后缀的方法将所有显式申明的异常封装到{@link RuntimeException}抛出<br> 023 * 计算机生成代码(generated by automated tools DecoratorGenerator @author guyadong)<br> 024 * @author guyadong 025 * 026 */ 027public class FaceApiGenericDecorator extends FaceApiDecorator{ 028 public FaceApiGenericDecorator(FaceApi delegate) { 029 super(delegate); 030 } 031 //1 032 /** 033 * {@link FaceApi#compare2Face(byte[],CodeInfo,byte[],CodeInfo)}对应的泛型方法<br> 034 * @param <T1> T1 035 * @param <T2> T2 036 * @param imgData1 imgData1 037 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 038 * @param facePos1 facePos1 039 * @param imgData2 imgData2 040 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 041 * @param facePos2 facePos2 042 * @return double 043 * @throws ImageErrorException ImageErrorException 044 * @throws NotFaceDetectedException NotFaceDetectedException 045 * @throws IOException IOException 046 * @see FaceApi#compare2Face(byte[],CodeInfo,byte[],CodeInfo) 047 */ 048 public <T1,T2> double compare2Face (T1 imgData1,CodeInfo facePos1,T2 imgData2,CodeInfo facePos2) throws ImageErrorException,NotFaceDetectedException,IOException{ 049 return compare2Face(BinaryUtils.getBytesNotEmpty(imgData1),facePos1,BinaryUtils.getBytesNotEmpty(imgData2),facePos2); 050 } 051 //2 052 /** 053 * {@link FaceApi#compare2Face(byte[],CodeInfo,byte[],CodeInfo)}泛型方法对应的unchecked方法, 054 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 055 * @param <T1> T1 056 * @param <T2> T2 057 * @param imgData1 imgData1 058 * @param facePos1 facePos1 059 * @param imgData2 imgData2 060 * @param facePos2 facePos2 061 * @return double 062 */ 063 public <T1,T2> double compare2FaceUnchecked (T1 imgData1,CodeInfo facePos1,T2 imgData2,CodeInfo facePos2) { 064 try{ 065 return compare2Face(imgData1,facePos1,imgData2,facePos2); 066 } catch(RuntimeException e){ 067 throw e; 068 } catch(Exception e){ 069 throw new RuntimeException(e); 070 } 071 } 072 //3 073 /** 074 * 参见{@link FaceApi#compare2Face(byte[],CodeInfo,byte[],CodeInfo)} 075 * @param imgData1 imgData1 InputStream 076 * @param facePos1 facePos1 077 * @param imgData2 imgData2 InputStream 078 * @param facePos2 facePos2 079 * @return double 080 * @throws ImageErrorException ImageErrorException 081 * @throws NotFaceDetectedException NotFaceDetectedException 082 * @throws IOException IOException 083 * @see FaceApi#compare2Face(byte[],CodeInfo,byte[],CodeInfo) 084 */ 085 public double compare2Face (InputStream imgData1,CodeInfo facePos1,InputStream imgData2,CodeInfo facePos2) throws ImageErrorException,NotFaceDetectedException,IOException{ 086 return compare2Face(BinaryUtils.getBytesNotEmpty(imgData1),facePos1,BinaryUtils.getBytesNotEmpty(imgData2),facePos2); 087 } 088 //4 089 /** 090 * {@link #compare2Face (InputStream,CodeInfo,InputStream,CodeInfo)}对应的unchecked方法, 091 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 092 * @param <T1> T1 093 * @param <T2> T2 094 * @param imgData1 imgData1 095 * @param facePos1 facePos1 096 * @param imgData2 imgData2 097 * @param facePos2 facePos2 098 * @return double 099 */ 100 public <T1,T2> double compare2FaceUnchecked (InputStream imgData1,CodeInfo facePos1,InputStream imgData2,CodeInfo facePos2) { 101 try{ 102 return compare2Face(imgData1,facePos1,imgData2,facePos2); 103 } catch(RuntimeException e){ 104 throw e; 105 } catch(Exception e){ 106 throw new RuntimeException(e); 107 } 108 } 109 110 //5 111 /** 112 * 参见{@link FaceApi#compare2Face(byte[],CodeInfo,byte[],CodeInfo)} 113 * @param imgData1 imgData1 URL 114 * @param facePos1 facePos1 115 * @param imgData2 imgData2 URL 116 * @param facePos2 facePos2 117 * @return double 118 * @throws ImageErrorException ImageErrorException 119 * @throws NotFaceDetectedException NotFaceDetectedException 120 * @throws IOException IOException 121 * @see FaceApi#compare2Face(byte[],CodeInfo,byte[],CodeInfo) 122 */ 123 public double compare2Face (URL imgData1,CodeInfo facePos1,URL imgData2,CodeInfo facePos2) throws ImageErrorException,NotFaceDetectedException,IOException{ 124 return compare2Face(BinaryUtils.getBytesNotEmpty(imgData1),facePos1,BinaryUtils.getBytesNotEmpty(imgData2),facePos2); 125 } 126 //6 127 /** 128 * {@link #compare2Face (URL,CodeInfo,URL,CodeInfo)}对应的unchecked方法, 129 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 130 * @param <T1> T1 131 * @param <T2> T2 132 * @param imgData1 imgData1 133 * @param facePos1 facePos1 134 * @param imgData2 imgData2 135 * @param facePos2 facePos2 136 * @return double 137 */ 138 public <T1,T2> double compare2FaceUnchecked (URL imgData1,CodeInfo facePos1,URL imgData2,CodeInfo facePos2) { 139 try{ 140 return compare2Face(imgData1,facePos1,imgData2,facePos2); 141 } catch(RuntimeException e){ 142 throw e; 143 } catch(Exception e){ 144 throw new RuntimeException(e); 145 } 146 } 147 148 //7 149 /** 150 * 参见{@link FaceApi#compare2Face(byte[],CodeInfo,byte[],CodeInfo)} 151 * @param imgData1 imgData1 File 152 * @param facePos1 facePos1 153 * @param imgData2 imgData2 File 154 * @param facePos2 facePos2 155 * @return double 156 * @throws ImageErrorException ImageErrorException 157 * @throws NotFaceDetectedException NotFaceDetectedException 158 * @throws IOException IOException 159 * @see FaceApi#compare2Face(byte[],CodeInfo,byte[],CodeInfo) 160 */ 161 public double compare2Face (File imgData1,CodeInfo facePos1,File imgData2,CodeInfo facePos2) throws ImageErrorException,NotFaceDetectedException,IOException{ 162 return compare2Face(BinaryUtils.getBytesNotEmpty(imgData1),facePos1,BinaryUtils.getBytesNotEmpty(imgData2),facePos2); 163 } 164 //8 165 /** 166 * {@link #compare2Face (File,CodeInfo,File,CodeInfo)}对应的unchecked方法, 167 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 168 * @param <T1> T1 169 * @param <T2> T2 170 * @param imgData1 imgData1 171 * @param facePos1 facePos1 172 * @param imgData2 imgData2 173 * @param facePos2 facePos2 174 * @return double 175 */ 176 public <T1,T2> double compare2FaceUnchecked (File imgData1,CodeInfo facePos1,File imgData2,CodeInfo facePos2) { 177 try{ 178 return compare2Face(imgData1,facePos1,imgData2,facePos2); 179 } catch(RuntimeException e){ 180 throw e; 181 } catch(Exception e){ 182 throw new RuntimeException(e); 183 } 184 } 185 186 //9 187 /** 188 * 参见{@link FaceApi#compare2Face(byte[],CodeInfo,byte[],CodeInfo)} 189 * @param imgData1 imgData1 ByteBuffer 190 * @param facePos1 facePos1 191 * @param imgData2 imgData2 ByteBuffer 192 * @param facePos2 facePos2 193 * @return double 194 * @throws ImageErrorException ImageErrorException 195 * @throws NotFaceDetectedException NotFaceDetectedException 196 * @throws IOException IOException 197 * @see FaceApi#compare2Face(byte[],CodeInfo,byte[],CodeInfo) 198 */ 199 public double compare2Face (ByteBuffer imgData1,CodeInfo facePos1,ByteBuffer imgData2,CodeInfo facePos2) throws ImageErrorException,NotFaceDetectedException,IOException{ 200 return compare2Face(BinaryUtils.getBytesNotEmpty(imgData1),facePos1,BinaryUtils.getBytesNotEmpty(imgData2),facePos2); 201 } 202 //10 203 /** 204 * {@link #compare2Face (ByteBuffer,CodeInfo,ByteBuffer,CodeInfo)}对应的unchecked方法, 205 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 206 * @param <T1> T1 207 * @param <T2> T2 208 * @param imgData1 imgData1 209 * @param facePos1 facePos1 210 * @param imgData2 imgData2 211 * @param facePos2 facePos2 212 * @return double 213 */ 214 public <T1,T2> double compare2FaceUnchecked (ByteBuffer imgData1,CodeInfo facePos1,ByteBuffer imgData2,CodeInfo facePos2) { 215 try{ 216 return compare2Face(imgData1,facePos1,imgData2,facePos2); 217 } catch(RuntimeException e){ 218 throw e; 219 } catch(Exception e){ 220 throw new RuntimeException(e); 221 } 222 } 223 224 //11 225 /** 226 * {@link FaceApi#compareCode(byte[],byte[])}对应的泛型方法<br> 227 * @param <T1> T1 228 * @param <T2> T2 229 * @param code1 code1 230 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 231 * @param code2 code2 232 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 233 * @return double 234 * @throws IOException IOException 235 * @see FaceApi#compareCode(byte[],byte[]) 236 */ 237 public <T1,T2> double compareCode (T1 code1,T2 code2) throws IOException{ 238 return compareCode(BinaryUtils.getBytesNotEmpty(code1),BinaryUtils.getBytesNotEmpty(code2)); 239 } 240 //12 241 /** 242 * {@link FaceApi#compareCode(byte[],byte[])}泛型方法对应的unchecked方法, 243 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 244 * @param <T1> T1 245 * @param <T2> T2 246 * @param code1 code1 247 * @param code2 code2 248 * @return double 249 */ 250 public <T1,T2> double compareCodeUnchecked (T1 code1,T2 code2) { 251 try{ 252 return compareCode(code1,code2); 253 } catch(RuntimeException e){ 254 throw e; 255 } catch(Exception e){ 256 throw new RuntimeException(e); 257 } 258 } 259 //13 260 /** 261 * {@link FaceApi#compareCodes(byte[],net.gdface.sdk.CodeInfo[])}对应的泛型方法<br> 262 * @param <T> T 263 * @param code1 code1 264 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 265 * @param codes codes 266 * @return double[] 267 * @throws IOException IOException 268 * @see FaceApi#compareCodes(byte[],net.gdface.sdk.CodeInfo[]) 269 */ 270 public <T> double[] compareCodes (T code1,CodeInfo[] codes) throws IOException{ 271 return compareCodes(BinaryUtils.getBytesNotEmpty(code1),codes); 272 } 273 //14 274 /** 275 * {@link FaceApi#compareCodes(byte[],net.gdface.sdk.CodeInfo[])}泛型方法对应的unchecked方法, 276 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 277 * @param <T> T 278 * @param code1 code1 279 * @param codes codes 280 * @return double[] 281 */ 282 public <T> double[] compareCodesUnchecked (T code1,CodeInfo[] codes) { 283 try{ 284 return compareCodes(code1,codes); 285 } catch(RuntimeException e){ 286 throw e; 287 } catch(Exception e){ 288 throw new RuntimeException(e); 289 } 290 } 291 //15 292 /** 293 * {@link FaceApi#compareFaces(byte[],byte[],int)}对应的泛型方法<br> 294 * @param <T1> T1 295 * @param <T2> T2 296 * @param code code 297 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 298 * @param imgData imgData 299 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 300 * @param faceNum faceNum 301 * @return CompareResult 302 * @throws ImageErrorException ImageErrorException 303 * @throws NotFaceDetectedException NotFaceDetectedException 304 * @throws IOException IOException 305 * @see FaceApi#compareFaces(byte[],byte[],int) 306 */ 307 public <T1,T2> CompareResult compareFaces (T1 code,T2 imgData,int faceNum) throws ImageErrorException,NotFaceDetectedException,IOException{ 308 return compareFaces(BinaryUtils.getBytesNotEmpty(code),BinaryUtils.getBytesNotEmpty(imgData),faceNum); 309 } 310 //16 311 /** 312 * {@link FaceApi#compareFaces(byte[],byte[],int)}泛型方法对应的unchecked方法, 313 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 314 * @param <T1> T1 315 * @param <T2> T2 316 * @param code code 317 * @param imgData imgData 318 * @param faceNum faceNum 319 * @return CompareResult 320 */ 321 public <T1,T2> CompareResult compareFacesUnchecked (T1 code,T2 imgData,int faceNum) { 322 try{ 323 return compareFaces(code,imgData,faceNum); 324 } catch(RuntimeException e){ 325 throw e; 326 } catch(Exception e){ 327 throw new RuntimeException(e); 328 } 329 } 330 //17 331 /** 332 * 参见{@link FaceApi#compareFaces(byte[],byte[],int)} 333 * @param code code InputStream 334 * @param imgData imgData InputStream 335 * @param faceNum faceNum 336 * @return CompareResult 337 * @throws ImageErrorException ImageErrorException 338 * @throws NotFaceDetectedException NotFaceDetectedException 339 * @throws IOException IOException 340 * @see FaceApi#compareFaces(byte[],byte[],int) 341 */ 342 public CompareResult compareFaces (InputStream code,InputStream imgData,int faceNum) throws ImageErrorException,NotFaceDetectedException,IOException{ 343 return compareFaces(BinaryUtils.getBytesNotEmpty(code),BinaryUtils.getBytesNotEmpty(imgData),faceNum); 344 } 345 //18 346 /** 347 * {@link #compareFaces (InputStream,InputStream,int)}对应的unchecked方法, 348 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 349 * @param <T1> T1 350 * @param <T2> T2 351 * @param code code 352 * @param imgData imgData 353 * @param faceNum faceNum 354 * @return CompareResult 355 */ 356 public <T1,T2> CompareResult compareFacesUnchecked (InputStream code,InputStream imgData,int faceNum) { 357 try{ 358 return compareFaces(code,imgData,faceNum); 359 } catch(RuntimeException e){ 360 throw e; 361 } catch(Exception e){ 362 throw new RuntimeException(e); 363 } 364 } 365 366 //19 367 /** 368 * 参见{@link FaceApi#compareFaces(byte[],byte[],int)} 369 * @param code code URL 370 * @param imgData imgData URL 371 * @param faceNum faceNum 372 * @return CompareResult 373 * @throws ImageErrorException ImageErrorException 374 * @throws NotFaceDetectedException NotFaceDetectedException 375 * @throws IOException IOException 376 * @see FaceApi#compareFaces(byte[],byte[],int) 377 */ 378 public CompareResult compareFaces (URL code,URL imgData,int faceNum) throws ImageErrorException,NotFaceDetectedException,IOException{ 379 return compareFaces(BinaryUtils.getBytesNotEmpty(code),BinaryUtils.getBytesNotEmpty(imgData),faceNum); 380 } 381 //20 382 /** 383 * {@link #compareFaces (URL,URL,int)}对应的unchecked方法, 384 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 385 * @param <T1> T1 386 * @param <T2> T2 387 * @param code code 388 * @param imgData imgData 389 * @param faceNum faceNum 390 * @return CompareResult 391 */ 392 public <T1,T2> CompareResult compareFacesUnchecked (URL code,URL imgData,int faceNum) { 393 try{ 394 return compareFaces(code,imgData,faceNum); 395 } catch(RuntimeException e){ 396 throw e; 397 } catch(Exception e){ 398 throw new RuntimeException(e); 399 } 400 } 401 402 //21 403 /** 404 * 参见{@link FaceApi#compareFaces(byte[],byte[],int)} 405 * @param code code File 406 * @param imgData imgData File 407 * @param faceNum faceNum 408 * @return CompareResult 409 * @throws ImageErrorException ImageErrorException 410 * @throws NotFaceDetectedException NotFaceDetectedException 411 * @throws IOException IOException 412 * @see FaceApi#compareFaces(byte[],byte[],int) 413 */ 414 public CompareResult compareFaces (File code,File imgData,int faceNum) throws ImageErrorException,NotFaceDetectedException,IOException{ 415 return compareFaces(BinaryUtils.getBytesNotEmpty(code),BinaryUtils.getBytesNotEmpty(imgData),faceNum); 416 } 417 //22 418 /** 419 * {@link #compareFaces (File,File,int)}对应的unchecked方法, 420 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 421 * @param <T1> T1 422 * @param <T2> T2 423 * @param code code 424 * @param imgData imgData 425 * @param faceNum faceNum 426 * @return CompareResult 427 */ 428 public <T1,T2> CompareResult compareFacesUnchecked (File code,File imgData,int faceNum) { 429 try{ 430 return compareFaces(code,imgData,faceNum); 431 } catch(RuntimeException e){ 432 throw e; 433 } catch(Exception e){ 434 throw new RuntimeException(e); 435 } 436 } 437 438 //23 439 /** 440 * 参见{@link FaceApi#compareFaces(byte[],byte[],int)} 441 * @param code code ByteBuffer 442 * @param imgData imgData ByteBuffer 443 * @param faceNum faceNum 444 * @return CompareResult 445 * @throws ImageErrorException ImageErrorException 446 * @throws NotFaceDetectedException NotFaceDetectedException 447 * @throws IOException IOException 448 * @see FaceApi#compareFaces(byte[],byte[],int) 449 */ 450 public CompareResult compareFaces (ByteBuffer code,ByteBuffer imgData,int faceNum) throws ImageErrorException,NotFaceDetectedException,IOException{ 451 return compareFaces(BinaryUtils.getBytesNotEmpty(code),BinaryUtils.getBytesNotEmpty(imgData),faceNum); 452 } 453 //24 454 /** 455 * {@link #compareFaces (ByteBuffer,ByteBuffer,int)}对应的unchecked方法, 456 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 457 * @param <T1> T1 458 * @param <T2> T2 459 * @param code code 460 * @param imgData imgData 461 * @param faceNum faceNum 462 * @return CompareResult 463 */ 464 public <T1,T2> CompareResult compareFacesUnchecked (ByteBuffer code,ByteBuffer imgData,int faceNum) { 465 try{ 466 return compareFaces(code,imgData,faceNum); 467 } catch(RuntimeException e){ 468 throw e; 469 } catch(Exception e){ 470 throw new RuntimeException(e); 471 } 472 } 473 474 //25 475 /** 476 * {@link FaceApi#compareFeatures(byte[],List)}对应的泛型方法<br> 477 * @param <T> T 478 * @param code1 code1 479 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 480 * @param codes codes 481 * @return List 482 * @throws IOException IOException 483 * @see FaceApi#compareFeatures(byte[],List) 484 */ 485 public <T> List<Double> compareFeatures (T code1,List<byte[]> codes) throws IOException{ 486 return compareFeatures(BinaryUtils.getBytesNotEmpty(code1),codes); 487 } 488 //26 489 /** 490 * {@link FaceApi#compareFeatures(byte[],List)}泛型方法对应的unchecked方法, 491 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 492 * @param <T> T 493 * @param code1 code1 494 * @param codes codes 495 * @return List 496 */ 497 public <T> List<Double> compareFeaturesUnchecked (T code1,List<byte[]> codes) { 498 try{ 499 return compareFeatures(code1,codes); 500 } catch(RuntimeException e){ 501 throw e; 502 } catch(Exception e){ 503 throw new RuntimeException(e); 504 } 505 } 506 //27 507 /** 508 * {@link FaceApi#detectAndCompare2Face(byte[],FRect,byte[],FRect)}对应的泛型方法<br> 509 * @param <T1> T1 510 * @param <T2> T2 511 * @param imgData1 imgData1 512 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 513 * @param detectRect1 detectRect1 514 * @param imgData2 imgData2 515 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 516 * @param detectRect2 detectRect2 517 * @return double 518 * @throws ImageErrorException ImageErrorException 519 * @throws NotFaceDetectedException NotFaceDetectedException 520 * @throws IOException IOException 521 * @see FaceApi#detectAndCompare2Face(byte[],FRect,byte[],FRect) 522 */ 523 public <T1,T2> double detectAndCompare2Face (T1 imgData1,FRect detectRect1,T2 imgData2,FRect detectRect2) throws ImageErrorException,NotFaceDetectedException,IOException{ 524 return detectAndCompare2Face(BinaryUtils.getBytesNotEmpty(imgData1),detectRect1,BinaryUtils.getBytesNotEmpty(imgData2),detectRect2); 525 } 526 //28 527 /** 528 * {@link FaceApi#detectAndCompare2Face(byte[],FRect,byte[],FRect)}泛型方法对应的unchecked方法, 529 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 530 * @param <T1> T1 531 * @param <T2> T2 532 * @param imgData1 imgData1 533 * @param detectRect1 detectRect1 534 * @param imgData2 imgData2 535 * @param detectRect2 detectRect2 536 * @return double 537 */ 538 public <T1,T2> double detectAndCompare2FaceUnchecked (T1 imgData1,FRect detectRect1,T2 imgData2,FRect detectRect2) { 539 try{ 540 return detectAndCompare2Face(imgData1,detectRect1,imgData2,detectRect2); 541 } catch(RuntimeException e){ 542 throw e; 543 } catch(Exception e){ 544 throw new RuntimeException(e); 545 } 546 } 547 //29 548 /** 549 * 参见{@link FaceApi#detectAndCompare2Face(byte[],FRect,byte[],FRect)} 550 * @param imgData1 imgData1 InputStream 551 * @param detectRect1 detectRect1 552 * @param imgData2 imgData2 InputStream 553 * @param detectRect2 detectRect2 554 * @return double 555 * @throws ImageErrorException ImageErrorException 556 * @throws NotFaceDetectedException NotFaceDetectedException 557 * @throws IOException IOException 558 * @see FaceApi#detectAndCompare2Face(byte[],FRect,byte[],FRect) 559 */ 560 public double detectAndCompare2Face (InputStream imgData1,FRect detectRect1,InputStream imgData2,FRect detectRect2) throws ImageErrorException,NotFaceDetectedException,IOException{ 561 return detectAndCompare2Face(BinaryUtils.getBytesNotEmpty(imgData1),detectRect1,BinaryUtils.getBytesNotEmpty(imgData2),detectRect2); 562 } 563 //30 564 /** 565 * {@link #detectAndCompare2Face (InputStream,FRect,InputStream,FRect)}对应的unchecked方法, 566 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 567 * @param <T1> T1 568 * @param <T2> T2 569 * @param imgData1 imgData1 570 * @param detectRect1 detectRect1 571 * @param imgData2 imgData2 572 * @param detectRect2 detectRect2 573 * @return double 574 */ 575 public <T1,T2> double detectAndCompare2FaceUnchecked (InputStream imgData1,FRect detectRect1,InputStream imgData2,FRect detectRect2) { 576 try{ 577 return detectAndCompare2Face(imgData1,detectRect1,imgData2,detectRect2); 578 } catch(RuntimeException e){ 579 throw e; 580 } catch(Exception e){ 581 throw new RuntimeException(e); 582 } 583 } 584 585 //31 586 /** 587 * 参见{@link FaceApi#detectAndCompare2Face(byte[],FRect,byte[],FRect)} 588 * @param imgData1 imgData1 URL 589 * @param detectRect1 detectRect1 590 * @param imgData2 imgData2 URL 591 * @param detectRect2 detectRect2 592 * @return double 593 * @throws ImageErrorException ImageErrorException 594 * @throws NotFaceDetectedException NotFaceDetectedException 595 * @throws IOException IOException 596 * @see FaceApi#detectAndCompare2Face(byte[],FRect,byte[],FRect) 597 */ 598 public double detectAndCompare2Face (URL imgData1,FRect detectRect1,URL imgData2,FRect detectRect2) throws ImageErrorException,NotFaceDetectedException,IOException{ 599 return detectAndCompare2Face(BinaryUtils.getBytesNotEmpty(imgData1),detectRect1,BinaryUtils.getBytesNotEmpty(imgData2),detectRect2); 600 } 601 //32 602 /** 603 * {@link #detectAndCompare2Face (URL,FRect,URL,FRect)}对应的unchecked方法, 604 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 605 * @param <T1> T1 606 * @param <T2> T2 607 * @param imgData1 imgData1 608 * @param detectRect1 detectRect1 609 * @param imgData2 imgData2 610 * @param detectRect2 detectRect2 611 * @return double 612 */ 613 public <T1,T2> double detectAndCompare2FaceUnchecked (URL imgData1,FRect detectRect1,URL imgData2,FRect detectRect2) { 614 try{ 615 return detectAndCompare2Face(imgData1,detectRect1,imgData2,detectRect2); 616 } catch(RuntimeException e){ 617 throw e; 618 } catch(Exception e){ 619 throw new RuntimeException(e); 620 } 621 } 622 623 //33 624 /** 625 * 参见{@link FaceApi#detectAndCompare2Face(byte[],FRect,byte[],FRect)} 626 * @param imgData1 imgData1 File 627 * @param detectRect1 detectRect1 628 * @param imgData2 imgData2 File 629 * @param detectRect2 detectRect2 630 * @return double 631 * @throws ImageErrorException ImageErrorException 632 * @throws NotFaceDetectedException NotFaceDetectedException 633 * @throws IOException IOException 634 * @see FaceApi#detectAndCompare2Face(byte[],FRect,byte[],FRect) 635 */ 636 public double detectAndCompare2Face (File imgData1,FRect detectRect1,File imgData2,FRect detectRect2) throws ImageErrorException,NotFaceDetectedException,IOException{ 637 return detectAndCompare2Face(BinaryUtils.getBytesNotEmpty(imgData1),detectRect1,BinaryUtils.getBytesNotEmpty(imgData2),detectRect2); 638 } 639 //34 640 /** 641 * {@link #detectAndCompare2Face (File,FRect,File,FRect)}对应的unchecked方法, 642 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 643 * @param <T1> T1 644 * @param <T2> T2 645 * @param imgData1 imgData1 646 * @param detectRect1 detectRect1 647 * @param imgData2 imgData2 648 * @param detectRect2 detectRect2 649 * @return double 650 */ 651 public <T1,T2> double detectAndCompare2FaceUnchecked (File imgData1,FRect detectRect1,File imgData2,FRect detectRect2) { 652 try{ 653 return detectAndCompare2Face(imgData1,detectRect1,imgData2,detectRect2); 654 } catch(RuntimeException e){ 655 throw e; 656 } catch(Exception e){ 657 throw new RuntimeException(e); 658 } 659 } 660 661 //35 662 /** 663 * 参见{@link FaceApi#detectAndCompare2Face(byte[],FRect,byte[],FRect)} 664 * @param imgData1 imgData1 ByteBuffer 665 * @param detectRect1 detectRect1 666 * @param imgData2 imgData2 ByteBuffer 667 * @param detectRect2 detectRect2 668 * @return double 669 * @throws ImageErrorException ImageErrorException 670 * @throws NotFaceDetectedException NotFaceDetectedException 671 * @throws IOException IOException 672 * @see FaceApi#detectAndCompare2Face(byte[],FRect,byte[],FRect) 673 */ 674 public double detectAndCompare2Face (ByteBuffer imgData1,FRect detectRect1,ByteBuffer imgData2,FRect detectRect2) throws ImageErrorException,NotFaceDetectedException,IOException{ 675 return detectAndCompare2Face(BinaryUtils.getBytesNotEmpty(imgData1),detectRect1,BinaryUtils.getBytesNotEmpty(imgData2),detectRect2); 676 } 677 //36 678 /** 679 * {@link #detectAndCompare2Face (ByteBuffer,FRect,ByteBuffer,FRect)}对应的unchecked方法, 680 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 681 * @param <T1> T1 682 * @param <T2> T2 683 * @param imgData1 imgData1 684 * @param detectRect1 detectRect1 685 * @param imgData2 imgData2 686 * @param detectRect2 detectRect2 687 * @return double 688 */ 689 public <T1,T2> double detectAndCompare2FaceUnchecked (ByteBuffer imgData1,FRect detectRect1,ByteBuffer imgData2,FRect detectRect2) { 690 try{ 691 return detectAndCompare2Face(imgData1,detectRect1,imgData2,detectRect2); 692 } catch(RuntimeException e){ 693 throw e; 694 } catch(Exception e){ 695 throw new RuntimeException(e); 696 } 697 } 698 699 //37 700 /** 701 * {@link FaceApi#detectAndGetCodeInfo(byte[],int)}对应的泛型方法<br> 702 * @param <T> T 703 * @param imgData imgData 704 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 705 * @param faceNum faceNum 706 * @return CodeInfo[] 707 * @throws ImageErrorException ImageErrorException 708 * @throws NotFaceDetectedException NotFaceDetectedException 709 * @throws IOException IOException 710 * @see FaceApi#detectAndGetCodeInfo(byte[],int) 711 */ 712 public <T> CodeInfo[] detectAndGetCodeInfo (T imgData,int faceNum) throws ImageErrorException,NotFaceDetectedException,IOException{ 713 return detectAndGetCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),faceNum); 714 } 715 //38 716 /** 717 * {@link FaceApi#detectAndGetCodeInfo(byte[],int)}泛型方法对应的unchecked方法, 718 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 719 * @param <T> T 720 * @param imgData imgData 721 * @param faceNum faceNum 722 * @return CodeInfo[] 723 */ 724 public <T> CodeInfo[] detectAndGetCodeInfoUnchecked (T imgData,int faceNum) { 725 try{ 726 return detectAndGetCodeInfo(imgData,faceNum); 727 } catch(RuntimeException e){ 728 throw e; 729 } catch(Exception e){ 730 throw new RuntimeException(e); 731 } 732 } 733 //39 734 /** 735 * 参见{@link FaceApi#detectAndGetCodeInfo(byte[],int)} 736 * @param imgData imgData InputStream 737 * @param faceNum faceNum 738 * @return CodeInfo[] 739 * @throws ImageErrorException ImageErrorException 740 * @throws NotFaceDetectedException NotFaceDetectedException 741 * @throws IOException IOException 742 * @see FaceApi#detectAndGetCodeInfo(byte[],int) 743 */ 744 public CodeInfo[] detectAndGetCodeInfo (InputStream imgData,int faceNum) throws ImageErrorException,NotFaceDetectedException,IOException{ 745 return detectAndGetCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),faceNum); 746 } 747 //40 748 /** 749 * {@link #detectAndGetCodeInfo (InputStream,int)}对应的unchecked方法, 750 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 751 * @param <T> T 752 * @param imgData imgData 753 * @param faceNum faceNum 754 * @return CodeInfo[] 755 */ 756 public <T> CodeInfo[] detectAndGetCodeInfoUnchecked (InputStream imgData,int faceNum) { 757 try{ 758 return detectAndGetCodeInfo(imgData,faceNum); 759 } catch(RuntimeException e){ 760 throw e; 761 } catch(Exception e){ 762 throw new RuntimeException(e); 763 } 764 } 765 766 //41 767 /** 768 * 参见{@link FaceApi#detectAndGetCodeInfo(byte[],int)} 769 * @param imgData imgData URL 770 * @param faceNum faceNum 771 * @return CodeInfo[] 772 * @throws ImageErrorException ImageErrorException 773 * @throws NotFaceDetectedException NotFaceDetectedException 774 * @throws IOException IOException 775 * @see FaceApi#detectAndGetCodeInfo(byte[],int) 776 */ 777 public CodeInfo[] detectAndGetCodeInfo (URL imgData,int faceNum) throws ImageErrorException,NotFaceDetectedException,IOException{ 778 return detectAndGetCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),faceNum); 779 } 780 //42 781 /** 782 * {@link #detectAndGetCodeInfo (URL,int)}对应的unchecked方法, 783 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 784 * @param <T> T 785 * @param imgData imgData 786 * @param faceNum faceNum 787 * @return CodeInfo[] 788 */ 789 public <T> CodeInfo[] detectAndGetCodeInfoUnchecked (URL imgData,int faceNum) { 790 try{ 791 return detectAndGetCodeInfo(imgData,faceNum); 792 } catch(RuntimeException e){ 793 throw e; 794 } catch(Exception e){ 795 throw new RuntimeException(e); 796 } 797 } 798 799 //43 800 /** 801 * 参见{@link FaceApi#detectAndGetCodeInfo(byte[],int)} 802 * @param imgData imgData File 803 * @param faceNum faceNum 804 * @return CodeInfo[] 805 * @throws ImageErrorException ImageErrorException 806 * @throws NotFaceDetectedException NotFaceDetectedException 807 * @throws IOException IOException 808 * @see FaceApi#detectAndGetCodeInfo(byte[],int) 809 */ 810 public CodeInfo[] detectAndGetCodeInfo (File imgData,int faceNum) throws ImageErrorException,NotFaceDetectedException,IOException{ 811 return detectAndGetCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),faceNum); 812 } 813 //44 814 /** 815 * {@link #detectAndGetCodeInfo (File,int)}对应的unchecked方法, 816 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 817 * @param <T> T 818 * @param imgData imgData 819 * @param faceNum faceNum 820 * @return CodeInfo[] 821 */ 822 public <T> CodeInfo[] detectAndGetCodeInfoUnchecked (File imgData,int faceNum) { 823 try{ 824 return detectAndGetCodeInfo(imgData,faceNum); 825 } catch(RuntimeException e){ 826 throw e; 827 } catch(Exception e){ 828 throw new RuntimeException(e); 829 } 830 } 831 832 //45 833 /** 834 * 参见{@link FaceApi#detectAndGetCodeInfo(byte[],int)} 835 * @param imgData imgData ByteBuffer 836 * @param faceNum faceNum 837 * @return CodeInfo[] 838 * @throws ImageErrorException ImageErrorException 839 * @throws NotFaceDetectedException NotFaceDetectedException 840 * @throws IOException IOException 841 * @see FaceApi#detectAndGetCodeInfo(byte[],int) 842 */ 843 public CodeInfo[] detectAndGetCodeInfo (ByteBuffer imgData,int faceNum) throws ImageErrorException,NotFaceDetectedException,IOException{ 844 return detectAndGetCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),faceNum); 845 } 846 //46 847 /** 848 * {@link #detectAndGetCodeInfo (ByteBuffer,int)}对应的unchecked方法, 849 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 850 * @param <T> T 851 * @param imgData imgData 852 * @param faceNum faceNum 853 * @return CodeInfo[] 854 */ 855 public <T> CodeInfo[] detectAndGetCodeInfoUnchecked (ByteBuffer imgData,int faceNum) { 856 try{ 857 return detectAndGetCodeInfo(imgData,faceNum); 858 } catch(RuntimeException e){ 859 throw e; 860 } catch(Exception e){ 861 throw new RuntimeException(e); 862 } 863 } 864 865 //47 866 /** 867 * {@link FaceApi#detectCenterFace(byte[])}对应的泛型方法<br> 868 * @param <T> T 869 * @param imgData imgData 870 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 871 * @return CodeInfo 872 * @throws ImageErrorException ImageErrorException 873 * @throws NotFaceDetectedException NotFaceDetectedException 874 * @throws IOException IOException 875 * @see FaceApi#detectCenterFace(byte[]) 876 */ 877 public <T> CodeInfo detectCenterFace (T imgData) throws ImageErrorException,NotFaceDetectedException,IOException{ 878 return detectCenterFace(BinaryUtils.getBytesNotEmpty(imgData)); 879 } 880 //48 881 /** 882 * {@link FaceApi#detectCenterFace(byte[])}泛型方法对应的unchecked方法, 883 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 884 * @param <T> T 885 * @param imgData imgData 886 * @return CodeInfo 887 */ 888 public <T> CodeInfo detectCenterFaceUnchecked (T imgData) { 889 try{ 890 return detectCenterFace(imgData); 891 } catch(RuntimeException e){ 892 throw e; 893 } catch(Exception e){ 894 throw new RuntimeException(e); 895 } 896 } 897 //49 898 /** 899 * {@link FaceApi#detectFace(byte[])}对应的泛型方法<br> 900 * @param <T> T 901 * @param imgData imgData 902 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 903 * @return CodeInfo[] 904 * @throws ImageErrorException ImageErrorException 905 * @throws IOException IOException 906 * @see FaceApi#detectFace(byte[]) 907 */ 908 public <T> CodeInfo[] detectFace (T imgData) throws ImageErrorException,IOException{ 909 return detectFace(BinaryUtils.getBytesNotEmpty(imgData)); 910 } 911 //50 912 /** 913 * {@link FaceApi#detectFace(byte[])}泛型方法对应的unchecked方法, 914 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 915 * @param <T> T 916 * @param imgData imgData 917 * @return CodeInfo[] 918 */ 919 public <T> CodeInfo[] detectFaceUnchecked (T imgData) { 920 try{ 921 return detectFace(imgData); 922 } catch(RuntimeException e){ 923 throw e; 924 } catch(Exception e){ 925 throw new RuntimeException(e); 926 } 927 } 928 //51 929 /** 930 * 参见{@link FaceApi#detectFace(byte[])} 931 * @param imgData imgData InputStream 932 * @return CodeInfo[] 933 * @throws ImageErrorException ImageErrorException 934 * @throws IOException IOException 935 * @see FaceApi#detectFace(byte[]) 936 */ 937 public CodeInfo[] detectFace (InputStream imgData) throws ImageErrorException,IOException{ 938 return detectFace(BinaryUtils.getBytesNotEmpty(imgData)); 939 } 940 //52 941 /** 942 * {@link #detectFace (InputStream)}对应的unchecked方法, 943 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 944 * @param <T> T 945 * @param imgData imgData 946 * @return CodeInfo[] 947 */ 948 public <T> CodeInfo[] detectFaceUnchecked (InputStream imgData) { 949 try{ 950 return detectFace(imgData); 951 } catch(RuntimeException e){ 952 throw e; 953 } catch(Exception e){ 954 throw new RuntimeException(e); 955 } 956 } 957 958 //53 959 /** 960 * 参见{@link FaceApi#detectFace(byte[])} 961 * @param imgData imgData URL 962 * @return CodeInfo[] 963 * @throws ImageErrorException ImageErrorException 964 * @throws IOException IOException 965 * @see FaceApi#detectFace(byte[]) 966 */ 967 public CodeInfo[] detectFace (URL imgData) throws ImageErrorException,IOException{ 968 return detectFace(BinaryUtils.getBytesNotEmpty(imgData)); 969 } 970 //54 971 /** 972 * {@link #detectFace (URL)}对应的unchecked方法, 973 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 974 * @param <T> T 975 * @param imgData imgData 976 * @return CodeInfo[] 977 */ 978 public <T> CodeInfo[] detectFaceUnchecked (URL imgData) { 979 try{ 980 return detectFace(imgData); 981 } catch(RuntimeException e){ 982 throw e; 983 } catch(Exception e){ 984 throw new RuntimeException(e); 985 } 986 } 987 988 //55 989 /** 990 * 参见{@link FaceApi#detectFace(byte[])} 991 * @param imgData imgData File 992 * @return CodeInfo[] 993 * @throws ImageErrorException ImageErrorException 994 * @throws IOException IOException 995 * @see FaceApi#detectFace(byte[]) 996 */ 997 public CodeInfo[] detectFace (File imgData) throws ImageErrorException,IOException{ 998 return detectFace(BinaryUtils.getBytesNotEmpty(imgData)); 999 } 1000 //56 1001 /** 1002 * {@link #detectFace (File)}对应的unchecked方法, 1003 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1004 * @param <T> T 1005 * @param imgData imgData 1006 * @return CodeInfo[] 1007 */ 1008 public <T> CodeInfo[] detectFaceUnchecked (File imgData) { 1009 try{ 1010 return detectFace(imgData); 1011 } catch(RuntimeException e){ 1012 throw e; 1013 } catch(Exception e){ 1014 throw new RuntimeException(e); 1015 } 1016 } 1017 1018 //57 1019 /** 1020 * 参见{@link FaceApi#detectFace(byte[])} 1021 * @param imgData imgData ByteBuffer 1022 * @return CodeInfo[] 1023 * @throws ImageErrorException ImageErrorException 1024 * @throws IOException IOException 1025 * @see FaceApi#detectFace(byte[]) 1026 */ 1027 public CodeInfo[] detectFace (ByteBuffer imgData) throws ImageErrorException,IOException{ 1028 return detectFace(BinaryUtils.getBytesNotEmpty(imgData)); 1029 } 1030 //58 1031 /** 1032 * {@link #detectFace (ByteBuffer)}对应的unchecked方法, 1033 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1034 * @param <T> T 1035 * @param imgData imgData 1036 * @return CodeInfo[] 1037 */ 1038 public <T> CodeInfo[] detectFaceUnchecked (ByteBuffer imgData) { 1039 try{ 1040 return detectFace(imgData); 1041 } catch(RuntimeException e){ 1042 throw e; 1043 } catch(Exception e){ 1044 throw new RuntimeException(e); 1045 } 1046 } 1047 1048 //59 1049 /** 1050 * {@link FaceApi#detectMaxFace(byte[])}对应的泛型方法<br> 1051 * @param <T> T 1052 * @param imgData imgData 1053 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 1054 * @return CodeInfo 1055 * @throws ImageErrorException ImageErrorException 1056 * @throws NotFaceDetectedException NotFaceDetectedException 1057 * @throws IOException IOException 1058 * @see FaceApi#detectMaxFace(byte[]) 1059 */ 1060 public <T> CodeInfo detectMaxFace (T imgData) throws ImageErrorException,NotFaceDetectedException,IOException{ 1061 return detectMaxFace(BinaryUtils.getBytesNotEmpty(imgData)); 1062 } 1063 //60 1064 /** 1065 * {@link FaceApi#detectMaxFace(byte[])}泛型方法对应的unchecked方法, 1066 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1067 * @param <T> T 1068 * @param imgData imgData 1069 * @return CodeInfo 1070 */ 1071 public <T> CodeInfo detectMaxFaceUnchecked (T imgData) { 1072 try{ 1073 return detectMaxFace(imgData); 1074 } catch(RuntimeException e){ 1075 throw e; 1076 } catch(Exception e){ 1077 throw new RuntimeException(e); 1078 } 1079 } 1080 //61 1081 /** 1082 * {@link FaceApi#getCodeInfo(byte[],int,net.gdface.sdk.CodeInfo[])}对应的泛型方法<br> 1083 * @param <T> T 1084 * @param imgData imgData 1085 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 1086 * @param faceNum faceNum 1087 * @param facePos facePos 1088 * @return CodeInfo[] 1089 * @throws NotFaceDetectedException NotFaceDetectedException 1090 * @throws IOException IOException 1091 * @see FaceApi#getCodeInfo(byte[],int,net.gdface.sdk.CodeInfo[]) 1092 */ 1093 public <T> CodeInfo[] getCodeInfo (T imgData,int faceNum,CodeInfo[] facePos) throws NotFaceDetectedException,IOException{ 1094 return getCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),faceNum,facePos); 1095 } 1096 //62 1097 /** 1098 * {@link FaceApi#getCodeInfo(byte[],int,net.gdface.sdk.CodeInfo[])}泛型方法对应的unchecked方法, 1099 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1100 * @param <T> T 1101 * @param imgData imgData 1102 * @param faceNum faceNum 1103 * @param facePos facePos 1104 * @return CodeInfo[] 1105 */ 1106 public <T> CodeInfo[] getCodeInfoUnchecked (T imgData,int faceNum,CodeInfo[] facePos) { 1107 try{ 1108 return getCodeInfo(imgData,faceNum,facePos); 1109 } catch(RuntimeException e){ 1110 throw e; 1111 } catch(Exception e){ 1112 throw new RuntimeException(e); 1113 } 1114 } 1115 //63 1116 /** 1117 * 参见{@link FaceApi#getCodeInfo(byte[],int,net.gdface.sdk.CodeInfo[])} 1118 * @param imgData imgData InputStream 1119 * @param faceNum faceNum 1120 * @param facePos facePos 1121 * @return CodeInfo[] 1122 * @throws NotFaceDetectedException NotFaceDetectedException 1123 * @throws IOException IOException 1124 * @see FaceApi#getCodeInfo(byte[],int,net.gdface.sdk.CodeInfo[]) 1125 */ 1126 public CodeInfo[] getCodeInfo (InputStream imgData,int faceNum,CodeInfo[] facePos) throws NotFaceDetectedException,IOException{ 1127 return getCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),faceNum,facePos); 1128 } 1129 //64 1130 /** 1131 * {@link #getCodeInfo (InputStream,int,CodeInfo[])}对应的unchecked方法, 1132 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1133 * @param <T> T 1134 * @param imgData imgData 1135 * @param faceNum faceNum 1136 * @param facePos facePos 1137 * @return CodeInfo[] 1138 */ 1139 public <T> CodeInfo[] getCodeInfoUnchecked (InputStream imgData,int faceNum,CodeInfo[] facePos) { 1140 try{ 1141 return getCodeInfo(imgData,faceNum,facePos); 1142 } catch(RuntimeException e){ 1143 throw e; 1144 } catch(Exception e){ 1145 throw new RuntimeException(e); 1146 } 1147 } 1148 1149 //65 1150 /** 1151 * 参见{@link FaceApi#getCodeInfo(byte[],int,net.gdface.sdk.CodeInfo[])} 1152 * @param imgData imgData URL 1153 * @param faceNum faceNum 1154 * @param facePos facePos 1155 * @return CodeInfo[] 1156 * @throws NotFaceDetectedException NotFaceDetectedException 1157 * @throws IOException IOException 1158 * @see FaceApi#getCodeInfo(byte[],int,net.gdface.sdk.CodeInfo[]) 1159 */ 1160 public CodeInfo[] getCodeInfo (URL imgData,int faceNum,CodeInfo[] facePos) throws NotFaceDetectedException,IOException{ 1161 return getCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),faceNum,facePos); 1162 } 1163 //66 1164 /** 1165 * {@link #getCodeInfo (URL,int,CodeInfo[])}对应的unchecked方法, 1166 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1167 * @param <T> T 1168 * @param imgData imgData 1169 * @param faceNum faceNum 1170 * @param facePos facePos 1171 * @return CodeInfo[] 1172 */ 1173 public <T> CodeInfo[] getCodeInfoUnchecked (URL imgData,int faceNum,CodeInfo[] facePos) { 1174 try{ 1175 return getCodeInfo(imgData,faceNum,facePos); 1176 } catch(RuntimeException e){ 1177 throw e; 1178 } catch(Exception e){ 1179 throw new RuntimeException(e); 1180 } 1181 } 1182 1183 //67 1184 /** 1185 * 参见{@link FaceApi#getCodeInfo(byte[],int,net.gdface.sdk.CodeInfo[])} 1186 * @param imgData imgData File 1187 * @param faceNum faceNum 1188 * @param facePos facePos 1189 * @return CodeInfo[] 1190 * @throws NotFaceDetectedException NotFaceDetectedException 1191 * @throws IOException IOException 1192 * @see FaceApi#getCodeInfo(byte[],int,net.gdface.sdk.CodeInfo[]) 1193 */ 1194 public CodeInfo[] getCodeInfo (File imgData,int faceNum,CodeInfo[] facePos) throws NotFaceDetectedException,IOException{ 1195 return getCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),faceNum,facePos); 1196 } 1197 //68 1198 /** 1199 * {@link #getCodeInfo (File,int,CodeInfo[])}对应的unchecked方法, 1200 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1201 * @param <T> T 1202 * @param imgData imgData 1203 * @param faceNum faceNum 1204 * @param facePos facePos 1205 * @return CodeInfo[] 1206 */ 1207 public <T> CodeInfo[] getCodeInfoUnchecked (File imgData,int faceNum,CodeInfo[] facePos) { 1208 try{ 1209 return getCodeInfo(imgData,faceNum,facePos); 1210 } catch(RuntimeException e){ 1211 throw e; 1212 } catch(Exception e){ 1213 throw new RuntimeException(e); 1214 } 1215 } 1216 1217 //69 1218 /** 1219 * 参见{@link FaceApi#getCodeInfo(byte[],int,net.gdface.sdk.CodeInfo[])} 1220 * @param imgData imgData ByteBuffer 1221 * @param faceNum faceNum 1222 * @param facePos facePos 1223 * @return CodeInfo[] 1224 * @throws NotFaceDetectedException NotFaceDetectedException 1225 * @throws IOException IOException 1226 * @see FaceApi#getCodeInfo(byte[],int,net.gdface.sdk.CodeInfo[]) 1227 */ 1228 public CodeInfo[] getCodeInfo (ByteBuffer imgData,int faceNum,CodeInfo[] facePos) throws NotFaceDetectedException,IOException{ 1229 return getCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),faceNum,facePos); 1230 } 1231 //70 1232 /** 1233 * {@link #getCodeInfo (ByteBuffer,int,CodeInfo[])}对应的unchecked方法, 1234 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1235 * @param <T> T 1236 * @param imgData imgData 1237 * @param faceNum faceNum 1238 * @param facePos facePos 1239 * @return CodeInfo[] 1240 */ 1241 public <T> CodeInfo[] getCodeInfoUnchecked (ByteBuffer imgData,int faceNum,CodeInfo[] facePos) { 1242 try{ 1243 return getCodeInfo(imgData,faceNum,facePos); 1244 } catch(RuntimeException e){ 1245 throw e; 1246 } catch(Exception e){ 1247 throw new RuntimeException(e); 1248 } 1249 } 1250 1251 //71 1252 /** 1253 * {@link FaceApi#getCodeInfo(byte[],CodeInfo)}对应的泛型方法<br> 1254 * @param <T> T 1255 * @param imgData imgData 1256 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 1257 * @param facePos facePos 1258 * @return CodeInfo 1259 * @throws IOException IOException 1260 * @see FaceApi#getCodeInfo(byte[],CodeInfo) 1261 */ 1262 public <T> CodeInfo getCodeInfo (T imgData,CodeInfo facePos) throws IOException{ 1263 return getCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),facePos); 1264 } 1265 //72 1266 /** 1267 * {@link FaceApi#getCodeInfo(byte[],CodeInfo)}泛型方法对应的unchecked方法, 1268 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1269 * @param <T> T 1270 * @param imgData imgData 1271 * @param facePos facePos 1272 * @return CodeInfo 1273 */ 1274 public <T> CodeInfo getCodeInfoUnchecked (T imgData,CodeInfo facePos) { 1275 try{ 1276 return getCodeInfo(imgData,facePos); 1277 } catch(RuntimeException e){ 1278 throw e; 1279 } catch(Exception e){ 1280 throw new RuntimeException(e); 1281 } 1282 } 1283 //73 1284 /** 1285 * 参见{@link FaceApi#getCodeInfo(byte[],CodeInfo)} 1286 * @param imgData imgData InputStream 1287 * @param facePos facePos 1288 * @return CodeInfo 1289 * @throws IOException IOException 1290 * @see FaceApi#getCodeInfo(byte[],CodeInfo) 1291 */ 1292 public CodeInfo getCodeInfo (InputStream imgData,CodeInfo facePos) throws IOException{ 1293 return getCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),facePos); 1294 } 1295 //74 1296 /** 1297 * {@link #getCodeInfo (InputStream,CodeInfo)}对应的unchecked方法, 1298 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1299 * @param <T> T 1300 * @param imgData imgData 1301 * @param facePos facePos 1302 * @return CodeInfo 1303 */ 1304 public <T> CodeInfo getCodeInfoUnchecked (InputStream imgData,CodeInfo facePos) { 1305 try{ 1306 return getCodeInfo(imgData,facePos); 1307 } catch(RuntimeException e){ 1308 throw e; 1309 } catch(Exception e){ 1310 throw new RuntimeException(e); 1311 } 1312 } 1313 1314 //75 1315 /** 1316 * 参见{@link FaceApi#getCodeInfo(byte[],CodeInfo)} 1317 * @param imgData imgData URL 1318 * @param facePos facePos 1319 * @return CodeInfo 1320 * @throws IOException IOException 1321 * @see FaceApi#getCodeInfo(byte[],CodeInfo) 1322 */ 1323 public CodeInfo getCodeInfo (URL imgData,CodeInfo facePos) throws IOException{ 1324 return getCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),facePos); 1325 } 1326 //76 1327 /** 1328 * {@link #getCodeInfo (URL,CodeInfo)}对应的unchecked方法, 1329 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1330 * @param <T> T 1331 * @param imgData imgData 1332 * @param facePos facePos 1333 * @return CodeInfo 1334 */ 1335 public <T> CodeInfo getCodeInfoUnchecked (URL imgData,CodeInfo facePos) { 1336 try{ 1337 return getCodeInfo(imgData,facePos); 1338 } catch(RuntimeException e){ 1339 throw e; 1340 } catch(Exception e){ 1341 throw new RuntimeException(e); 1342 } 1343 } 1344 1345 //77 1346 /** 1347 * 参见{@link FaceApi#getCodeInfo(byte[],CodeInfo)} 1348 * @param imgData imgData File 1349 * @param facePos facePos 1350 * @return CodeInfo 1351 * @throws IOException IOException 1352 * @see FaceApi#getCodeInfo(byte[],CodeInfo) 1353 */ 1354 public CodeInfo getCodeInfo (File imgData,CodeInfo facePos) throws IOException{ 1355 return getCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),facePos); 1356 } 1357 //78 1358 /** 1359 * {@link #getCodeInfo (File,CodeInfo)}对应的unchecked方法, 1360 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1361 * @param <T> T 1362 * @param imgData imgData 1363 * @param facePos facePos 1364 * @return CodeInfo 1365 */ 1366 public <T> CodeInfo getCodeInfoUnchecked (File imgData,CodeInfo facePos) { 1367 try{ 1368 return getCodeInfo(imgData,facePos); 1369 } catch(RuntimeException e){ 1370 throw e; 1371 } catch(Exception e){ 1372 throw new RuntimeException(e); 1373 } 1374 } 1375 1376 //79 1377 /** 1378 * 参见{@link FaceApi#getCodeInfo(byte[],CodeInfo)} 1379 * @param imgData imgData ByteBuffer 1380 * @param facePos facePos 1381 * @return CodeInfo 1382 * @throws IOException IOException 1383 * @see FaceApi#getCodeInfo(byte[],CodeInfo) 1384 */ 1385 public CodeInfo getCodeInfo (ByteBuffer imgData,CodeInfo facePos) throws IOException{ 1386 return getCodeInfo(BinaryUtils.getBytesNotEmpty(imgData),facePos); 1387 } 1388 //80 1389 /** 1390 * {@link #getCodeInfo (ByteBuffer,CodeInfo)}对应的unchecked方法, 1391 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1392 * @param <T> T 1393 * @param imgData imgData 1394 * @param facePos facePos 1395 * @return CodeInfo 1396 */ 1397 public <T> CodeInfo getCodeInfoUnchecked (ByteBuffer imgData,CodeInfo facePos) { 1398 try{ 1399 return getCodeInfo(imgData,facePos); 1400 } catch(RuntimeException e){ 1401 throw e; 1402 } catch(Exception e){ 1403 throw new RuntimeException(e); 1404 } 1405 } 1406 1407 //81 1408 /** 1409 * {@link FaceApi#hasFace(byte[])}对应的泛型方法<br> 1410 * @param <T> T 1411 * @param imgData imgData 1412 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 1413 * @return boolean 1414 * @throws ImageErrorException ImageErrorException 1415 * @throws IOException IOException 1416 * @see FaceApi#hasFace(byte[]) 1417 */ 1418 public <T> boolean hasFace (T imgData) throws ImageErrorException,IOException{ 1419 return hasFace(BinaryUtils.getBytesNotEmpty(imgData)); 1420 } 1421 //82 1422 /** 1423 * {@link FaceApi#hasFace(byte[])}泛型方法对应的unchecked方法, 1424 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1425 * @param <T> T 1426 * @param imgData imgData 1427 * @return boolean 1428 */ 1429 public <T> boolean hasFaceUnchecked (T imgData) { 1430 try{ 1431 return hasFace(imgData); 1432 } catch(RuntimeException e){ 1433 throw e; 1434 } catch(Exception e){ 1435 throw new RuntimeException(e); 1436 } 1437 } 1438 //83 1439 /** 1440 * 参见{@link FaceApi#hasFace(byte[])} 1441 * @param imgData imgData InputStream 1442 * @return boolean 1443 * @throws ImageErrorException ImageErrorException 1444 * @throws IOException IOException 1445 * @see FaceApi#hasFace(byte[]) 1446 */ 1447 public boolean hasFace (InputStream imgData) throws ImageErrorException,IOException{ 1448 return hasFace(BinaryUtils.getBytesNotEmpty(imgData)); 1449 } 1450 //84 1451 /** 1452 * {@link #hasFace (InputStream)}对应的unchecked方法, 1453 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1454 * @param <T> T 1455 * @param imgData imgData 1456 * @return boolean 1457 */ 1458 public <T> boolean hasFaceUnchecked (InputStream imgData) { 1459 try{ 1460 return hasFace(imgData); 1461 } catch(RuntimeException e){ 1462 throw e; 1463 } catch(Exception e){ 1464 throw new RuntimeException(e); 1465 } 1466 } 1467 1468 //85 1469 /** 1470 * 参见{@link FaceApi#hasFace(byte[])} 1471 * @param imgData imgData URL 1472 * @return boolean 1473 * @throws ImageErrorException ImageErrorException 1474 * @throws IOException IOException 1475 * @see FaceApi#hasFace(byte[]) 1476 */ 1477 public boolean hasFace (URL imgData) throws ImageErrorException,IOException{ 1478 return hasFace(BinaryUtils.getBytesNotEmpty(imgData)); 1479 } 1480 //86 1481 /** 1482 * {@link #hasFace (URL)}对应的unchecked方法, 1483 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1484 * @param <T> T 1485 * @param imgData imgData 1486 * @return boolean 1487 */ 1488 public <T> boolean hasFaceUnchecked (URL imgData) { 1489 try{ 1490 return hasFace(imgData); 1491 } catch(RuntimeException e){ 1492 throw e; 1493 } catch(Exception e){ 1494 throw new RuntimeException(e); 1495 } 1496 } 1497 1498 //87 1499 /** 1500 * 参见{@link FaceApi#hasFace(byte[])} 1501 * @param imgData imgData File 1502 * @return boolean 1503 * @throws ImageErrorException ImageErrorException 1504 * @throws IOException IOException 1505 * @see FaceApi#hasFace(byte[]) 1506 */ 1507 public boolean hasFace (File imgData) throws ImageErrorException,IOException{ 1508 return hasFace(BinaryUtils.getBytesNotEmpty(imgData)); 1509 } 1510 //88 1511 /** 1512 * {@link #hasFace (File)}对应的unchecked方法, 1513 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1514 * @param <T> T 1515 * @param imgData imgData 1516 * @return boolean 1517 */ 1518 public <T> boolean hasFaceUnchecked (File imgData) { 1519 try{ 1520 return hasFace(imgData); 1521 } catch(RuntimeException e){ 1522 throw e; 1523 } catch(Exception e){ 1524 throw new RuntimeException(e); 1525 } 1526 } 1527 1528 //89 1529 /** 1530 * 参见{@link FaceApi#hasFace(byte[])} 1531 * @param imgData imgData ByteBuffer 1532 * @return boolean 1533 * @throws ImageErrorException ImageErrorException 1534 * @throws IOException IOException 1535 * @see FaceApi#hasFace(byte[]) 1536 */ 1537 public boolean hasFace (ByteBuffer imgData) throws ImageErrorException,IOException{ 1538 return hasFace(BinaryUtils.getBytesNotEmpty(imgData)); 1539 } 1540 //90 1541 /** 1542 * {@link #hasFace (ByteBuffer)}对应的unchecked方法, 1543 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1544 * @param <T> T 1545 * @param imgData imgData 1546 * @return boolean 1547 */ 1548 public <T> boolean hasFaceUnchecked (ByteBuffer imgData) { 1549 try{ 1550 return hasFace(imgData); 1551 } catch(RuntimeException e){ 1552 throw e; 1553 } catch(Exception e){ 1554 throw new RuntimeException(e); 1555 } 1556 } 1557 1558 //91 1559 /** 1560 * {@link FaceApi#matDetectAndGetCodeInfo(MatType,byte[],int,int,int)}对应的泛型方法<br> 1561 * @param <T> T 1562 * @param matType matType 1563 * @param matData matData 1564 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 1565 * @param width width 1566 * @param height height 1567 * @param faceNum faceNum 1568 * @return CodeInfo[] 1569 * @throws NotFaceDetectedException NotFaceDetectedException 1570 * @throws IOException IOException 1571 * @see FaceApi#matDetectAndGetCodeInfo(MatType,byte[],int,int,int) 1572 */ 1573 public <T> CodeInfo[] matDetectAndGetCodeInfo (MatType matType,T matData,int width,int height,int faceNum) throws NotFaceDetectedException,IOException{ 1574 return matDetectAndGetCodeInfo(matType,BinaryUtils.getBytesNotEmpty(matData),width,height,faceNum); 1575 } 1576 //92 1577 /** 1578 * {@link FaceApi#matDetectAndGetCodeInfo(MatType,byte[],int,int,int)}泛型方法对应的unchecked方法, 1579 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1580 * @param <T> T 1581 * @param matType matType 1582 * @param matData matData 1583 * @param width width 1584 * @param height height 1585 * @param faceNum faceNum 1586 * @return CodeInfo[] 1587 */ 1588 public <T> CodeInfo[] matDetectAndGetCodeInfoUnchecked (MatType matType,T matData,int width,int height,int faceNum) { 1589 try{ 1590 return matDetectAndGetCodeInfo(matType,matData,width,height,faceNum); 1591 } catch(RuntimeException e){ 1592 throw e; 1593 } catch(Exception e){ 1594 throw new RuntimeException(e); 1595 } 1596 } 1597 //93 1598 /** 1599 * 参见{@link FaceApi#matDetectAndGetCodeInfo(MatType,byte[],int,int,int)} 1600 * @param matType matType 1601 * @param matData matData ByteBuffer 1602 * @param width width 1603 * @param height height 1604 * @param faceNum faceNum 1605 * @return CodeInfo[] 1606 * @throws NotFaceDetectedException NotFaceDetectedException 1607 * @throws IOException IOException 1608 * @see FaceApi#matDetectAndGetCodeInfo(MatType,byte[],int,int,int) 1609 */ 1610 public CodeInfo[] matDetectAndGetCodeInfo (MatType matType,ByteBuffer matData,int width,int height,int faceNum) throws NotFaceDetectedException,IOException{ 1611 return matDetectAndGetCodeInfo(matType,BinaryUtils.getBytesNotEmpty(matData),width,height,faceNum); 1612 } 1613 //94 1614 /** 1615 * {@link #matDetectAndGetCodeInfo (MatType,ByteBuffer,int,int,int)}对应的unchecked方法, 1616 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1617 * @param <T> T 1618 * @param matType matType 1619 * @param matData matData 1620 * @param width width 1621 * @param height height 1622 * @param faceNum faceNum 1623 * @return CodeInfo[] 1624 */ 1625 public <T> CodeInfo[] matDetectAndGetCodeInfoUnchecked (MatType matType,ByteBuffer matData,int width,int height,int faceNum) { 1626 try{ 1627 return matDetectAndGetCodeInfo(matType,matData,width,height,faceNum); 1628 } catch(RuntimeException e){ 1629 throw e; 1630 } catch(Exception e){ 1631 throw new RuntimeException(e); 1632 } 1633 } 1634 1635 //95 1636 /** 1637 * {@link FaceApi#matDetectFace(MatType,byte[],int,int)}对应的泛型方法<br> 1638 * @param <T> T 1639 * @param matType matType 1640 * @param matData matData 1641 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 1642 * @param width width 1643 * @param height height 1644 * @return CodeInfo[] 1645 * @throws IOException IOException 1646 * @see FaceApi#matDetectFace(MatType,byte[],int,int) 1647 */ 1648 public <T> CodeInfo[] matDetectFace (MatType matType,T matData,int width,int height) throws IOException{ 1649 return matDetectFace(matType,BinaryUtils.getBytesNotEmpty(matData),width,height); 1650 } 1651 //96 1652 /** 1653 * {@link FaceApi#matDetectFace(MatType,byte[],int,int)}泛型方法对应的unchecked方法, 1654 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1655 * @param <T> T 1656 * @param matType matType 1657 * @param matData matData 1658 * @param width width 1659 * @param height height 1660 * @return CodeInfo[] 1661 */ 1662 public <T> CodeInfo[] matDetectFaceUnchecked (MatType matType,T matData,int width,int height) { 1663 try{ 1664 return matDetectFace(matType,matData,width,height); 1665 } catch(RuntimeException e){ 1666 throw e; 1667 } catch(Exception e){ 1668 throw new RuntimeException(e); 1669 } 1670 } 1671 //97 1672 /** 1673 * 参见{@link FaceApi#matDetectFace(MatType,byte[],int,int)} 1674 * @param matType matType 1675 * @param matData matData ByteBuffer 1676 * @param width width 1677 * @param height height 1678 * @return CodeInfo[] 1679 * @throws IOException IOException 1680 * @see FaceApi#matDetectFace(MatType,byte[],int,int) 1681 */ 1682 public CodeInfo[] matDetectFace (MatType matType,ByteBuffer matData,int width,int height) throws IOException{ 1683 return matDetectFace(matType,BinaryUtils.getBytesNotEmpty(matData),width,height); 1684 } 1685 //98 1686 /** 1687 * {@link #matDetectFace (MatType,ByteBuffer,int,int)}对应的unchecked方法, 1688 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1689 * @param <T> T 1690 * @param matType matType 1691 * @param matData matData 1692 * @param width width 1693 * @param height height 1694 * @return CodeInfo[] 1695 */ 1696 public <T> CodeInfo[] matDetectFaceUnchecked (MatType matType,ByteBuffer matData,int width,int height) { 1697 try{ 1698 return matDetectFace(matType,matData,width,height); 1699 } catch(RuntimeException e){ 1700 throw e; 1701 } catch(Exception e){ 1702 throw new RuntimeException(e); 1703 } 1704 } 1705 1706 //99 1707 /** 1708 * {@link FaceApi#matDetectMaxFace(MatType,byte[],int,int)}对应的泛型方法<br> 1709 * @param <T> T 1710 * @param matType matType 1711 * @param matData matData 1712 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 1713 * @param width width 1714 * @param height height 1715 * @return CodeInfo 1716 * @throws NotFaceDetectedException NotFaceDetectedException 1717 * @throws IOException IOException 1718 * @see FaceApi#matDetectMaxFace(MatType,byte[],int,int) 1719 */ 1720 public <T> CodeInfo matDetectMaxFace (MatType matType,T matData,int width,int height) throws NotFaceDetectedException,IOException{ 1721 return matDetectMaxFace(matType,BinaryUtils.getBytesNotEmpty(matData),width,height); 1722 } 1723 //100 1724 /** 1725 * {@link FaceApi#matDetectMaxFace(MatType,byte[],int,int)}泛型方法对应的unchecked方法, 1726 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1727 * @param <T> T 1728 * @param matType matType 1729 * @param matData matData 1730 * @param width width 1731 * @param height height 1732 * @return CodeInfo 1733 */ 1734 public <T> CodeInfo matDetectMaxFaceUnchecked (MatType matType,T matData,int width,int height) { 1735 try{ 1736 return matDetectMaxFace(matType,matData,width,height); 1737 } catch(RuntimeException e){ 1738 throw e; 1739 } catch(Exception e){ 1740 throw new RuntimeException(e); 1741 } 1742 } 1743 //101 1744 /** 1745 * 参见{@link FaceApi#matDetectMaxFace(MatType,byte[],int,int)} 1746 * @param matType matType 1747 * @param matData matData ByteBuffer 1748 * @param width width 1749 * @param height height 1750 * @return CodeInfo 1751 * @throws NotFaceDetectedException NotFaceDetectedException 1752 * @throws IOException IOException 1753 * @see FaceApi#matDetectMaxFace(MatType,byte[],int,int) 1754 */ 1755 public CodeInfo matDetectMaxFace (MatType matType,ByteBuffer matData,int width,int height) throws NotFaceDetectedException,IOException{ 1756 return matDetectMaxFace(matType,BinaryUtils.getBytesNotEmpty(matData),width,height); 1757 } 1758 //102 1759 /** 1760 * {@link #matDetectMaxFace (MatType,ByteBuffer,int,int)}对应的unchecked方法, 1761 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1762 * @param <T> T 1763 * @param matType matType 1764 * @param matData matData 1765 * @param width width 1766 * @param height height 1767 * @return CodeInfo 1768 */ 1769 public <T> CodeInfo matDetectMaxFaceUnchecked (MatType matType,ByteBuffer matData,int width,int height) { 1770 try{ 1771 return matDetectMaxFace(matType,matData,width,height); 1772 } catch(RuntimeException e){ 1773 throw e; 1774 } catch(Exception e){ 1775 throw new RuntimeException(e); 1776 } 1777 } 1778 1779 //103 1780 /** 1781 * {@link FaceApi#matGetCodeInfo(MatType,byte[],int,int,int,net.gdface.sdk.CodeInfo[])}对应的泛型方法<br> 1782 * @param <T> T 1783 * @param matType matType 1784 * @param matData matData 1785 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 1786 * @param width width 1787 * @param height height 1788 * @param facenum facenum 1789 * @param facePos facePos 1790 * @return CodeInfo[] 1791 * @throws NotFaceDetectedException NotFaceDetectedException 1792 * @throws IOException IOException 1793 * @see FaceApi#matGetCodeInfo(MatType,byte[],int,int,int,net.gdface.sdk.CodeInfo[]) 1794 */ 1795 public <T> CodeInfo[] matGetCodeInfo (MatType matType,T matData,int width,int height,int facenum,CodeInfo[] facePos) throws NotFaceDetectedException,IOException{ 1796 return matGetCodeInfo(matType,BinaryUtils.getBytesNotEmpty(matData),width,height,facenum,facePos); 1797 } 1798 //104 1799 /** 1800 * {@link FaceApi#matGetCodeInfo(MatType,byte[],int,int,int,net.gdface.sdk.CodeInfo[])}泛型方法对应的unchecked方法, 1801 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1802 * @param <T> T 1803 * @param matType matType 1804 * @param matData matData 1805 * @param width width 1806 * @param height height 1807 * @param facenum facenum 1808 * @param facePos facePos 1809 * @return CodeInfo[] 1810 */ 1811 public <T> CodeInfo[] matGetCodeInfoUnchecked (MatType matType,T matData,int width,int height,int facenum,CodeInfo[] facePos) { 1812 try{ 1813 return matGetCodeInfo(matType,matData,width,height,facenum,facePos); 1814 } catch(RuntimeException e){ 1815 throw e; 1816 } catch(Exception e){ 1817 throw new RuntimeException(e); 1818 } 1819 } 1820 //105 1821 /** 1822 * 参见{@link FaceApi#matGetCodeInfo(MatType,byte[],int,int,int,net.gdface.sdk.CodeInfo[])} 1823 * @param matType matType 1824 * @param matData matData ByteBuffer 1825 * @param width width 1826 * @param height height 1827 * @param facenum facenum 1828 * @param facePos facePos 1829 * @return CodeInfo[] 1830 * @throws NotFaceDetectedException NotFaceDetectedException 1831 * @throws IOException IOException 1832 * @see FaceApi#matGetCodeInfo(MatType,byte[],int,int,int,net.gdface.sdk.CodeInfo[]) 1833 */ 1834 public CodeInfo[] matGetCodeInfo (MatType matType,ByteBuffer matData,int width,int height,int facenum,CodeInfo[] facePos) throws NotFaceDetectedException,IOException{ 1835 return matGetCodeInfo(matType,BinaryUtils.getBytesNotEmpty(matData),width,height,facenum,facePos); 1836 } 1837 //106 1838 /** 1839 * {@link #matGetCodeInfo (MatType,ByteBuffer,int,int,int,CodeInfo[])}对应的unchecked方法, 1840 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1841 * @param <T> T 1842 * @param matType matType 1843 * @param matData matData 1844 * @param width width 1845 * @param height height 1846 * @param facenum facenum 1847 * @param facePos facePos 1848 * @return CodeInfo[] 1849 */ 1850 public <T> CodeInfo[] matGetCodeInfoUnchecked (MatType matType,ByteBuffer matData,int width,int height,int facenum,CodeInfo[] facePos) { 1851 try{ 1852 return matGetCodeInfo(matType,matData,width,height,facenum,facePos); 1853 } catch(RuntimeException e){ 1854 throw e; 1855 } catch(Exception e){ 1856 throw new RuntimeException(e); 1857 } 1858 } 1859 1860 //107 1861 /** 1862 * {@link FaceApi#matGetCodeInfo(MatType,byte[],int,int,CodeInfo)}对应的泛型方法<br> 1863 * @param <T> T 1864 * @param matType matType 1865 * @param matData matData 1866 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 1867 * @param width width 1868 * @param height height 1869 * @param facePos facePos 1870 * @return CodeInfo 1871 * @throws IOException IOException 1872 * @see FaceApi#matGetCodeInfo(MatType,byte[],int,int,CodeInfo) 1873 */ 1874 public <T> CodeInfo matGetCodeInfo (MatType matType,T matData,int width,int height,CodeInfo facePos) throws IOException{ 1875 return matGetCodeInfo(matType,BinaryUtils.getBytesNotEmpty(matData),width,height,facePos); 1876 } 1877 //108 1878 /** 1879 * {@link FaceApi#matGetCodeInfo(MatType,byte[],int,int,CodeInfo)}泛型方法对应的unchecked方法, 1880 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1881 * @param <T> T 1882 * @param matType matType 1883 * @param matData matData 1884 * @param width width 1885 * @param height height 1886 * @param facePos facePos 1887 * @return CodeInfo 1888 */ 1889 public <T> CodeInfo matGetCodeInfoUnchecked (MatType matType,T matData,int width,int height,CodeInfo facePos) { 1890 try{ 1891 return matGetCodeInfo(matType,matData,width,height,facePos); 1892 } catch(RuntimeException e){ 1893 throw e; 1894 } catch(Exception e){ 1895 throw new RuntimeException(e); 1896 } 1897 } 1898 //109 1899 /** 1900 * 参见{@link FaceApi#matGetCodeInfo(MatType,byte[],int,int,CodeInfo)} 1901 * @param matType matType 1902 * @param matData matData ByteBuffer 1903 * @param width width 1904 * @param height height 1905 * @param facePos facePos 1906 * @return CodeInfo 1907 * @throws IOException IOException 1908 * @see FaceApi#matGetCodeInfo(MatType,byte[],int,int,CodeInfo) 1909 */ 1910 public CodeInfo matGetCodeInfo (MatType matType,ByteBuffer matData,int width,int height,CodeInfo facePos) throws IOException{ 1911 return matGetCodeInfo(matType,BinaryUtils.getBytesNotEmpty(matData),width,height,facePos); 1912 } 1913 //110 1914 /** 1915 * {@link #matGetCodeInfo (MatType,ByteBuffer,int,int,CodeInfo)}对应的unchecked方法, 1916 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1917 * @param <T> T 1918 * @param matType matType 1919 * @param matData matData 1920 * @param width width 1921 * @param height height 1922 * @param facePos facePos 1923 * @return CodeInfo 1924 */ 1925 public <T> CodeInfo matGetCodeInfoUnchecked (MatType matType,ByteBuffer matData,int width,int height,CodeInfo facePos) { 1926 try{ 1927 return matGetCodeInfo(matType,matData,width,height,facePos); 1928 } catch(RuntimeException e){ 1929 throw e; 1930 } catch(Exception e){ 1931 throw new RuntimeException(e); 1932 } 1933 } 1934 1935 //111 1936 /** 1937 * {@link FaceApi#matHasFace(MatType,byte[],int,int)}对应的泛型方法<br> 1938 * @param <T> T 1939 * @param matType matType 1940 * @param matData matData 1941 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 1942 * @param width width 1943 * @param height height 1944 * @return boolean 1945 * @throws IOException IOException 1946 * @see FaceApi#matHasFace(MatType,byte[],int,int) 1947 */ 1948 public <T> boolean matHasFace (MatType matType,T matData,int width,int height) throws IOException{ 1949 return matHasFace(matType,BinaryUtils.getBytesNotEmpty(matData),width,height); 1950 } 1951 //112 1952 /** 1953 * {@link FaceApi#matHasFace(MatType,byte[],int,int)}泛型方法对应的unchecked方法, 1954 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1955 * @param <T> T 1956 * @param matType matType 1957 * @param matData matData 1958 * @param width width 1959 * @param height height 1960 * @return boolean 1961 */ 1962 public <T> boolean matHasFaceUnchecked (MatType matType,T matData,int width,int height) { 1963 try{ 1964 return matHasFace(matType,matData,width,height); 1965 } catch(RuntimeException e){ 1966 throw e; 1967 } catch(Exception e){ 1968 throw new RuntimeException(e); 1969 } 1970 } 1971 //113 1972 /** 1973 * 参见{@link FaceApi#matHasFace(MatType,byte[],int,int)} 1974 * @param matType matType 1975 * @param matData matData ByteBuffer 1976 * @param width width 1977 * @param height height 1978 * @return boolean 1979 * @throws IOException IOException 1980 * @see FaceApi#matHasFace(MatType,byte[],int,int) 1981 */ 1982 public boolean matHasFace (MatType matType,ByteBuffer matData,int width,int height) throws IOException{ 1983 return matHasFace(matType,BinaryUtils.getBytesNotEmpty(matData),width,height); 1984 } 1985 //114 1986 /** 1987 * {@link #matHasFace (MatType,ByteBuffer,int,int)}对应的unchecked方法, 1988 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 1989 * @param <T> T 1990 * @param matType matType 1991 * @param matData matData 1992 * @param width width 1993 * @param height height 1994 * @return boolean 1995 */ 1996 public <T> boolean matHasFaceUnchecked (MatType matType,ByteBuffer matData,int width,int height) { 1997 try{ 1998 return matHasFace(matType,matData,width,height); 1999 } catch(RuntimeException e){ 2000 throw e; 2001 } catch(Exception e){ 2002 throw new RuntimeException(e); 2003 } 2004 } 2005 2006 //115 2007 /** 2008 * {@link FaceApi#matSearchFaces(MatType,byte[],int,int,CodeInfo,double,int)}对应的泛型方法<br> 2009 * @param <T> T 2010 * @param matType matType 2011 * @param matData matData 2012 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 2013 * @param width width 2014 * @param height height 2015 * @param facePos facePos 2016 * @param similarty similarty 2017 * @param rows rows 2018 * @return FseResult[] 2019 * @throws ImageErrorException ImageErrorException 2020 * @throws NotFaceDetectedException NotFaceDetectedException 2021 * @throws IOException IOException 2022 * @see FaceApi#matSearchFaces(MatType,byte[],int,int,CodeInfo,double,int) 2023 */ 2024 public <T> FseResult[] matSearchFaces (MatType matType,T matData,int width,int height,CodeInfo facePos,double similarty,int rows) throws ImageErrorException,NotFaceDetectedException,IOException{ 2025 return matSearchFaces(matType,BinaryUtils.getBytesNotEmpty(matData),width,height,facePos,similarty,rows); 2026 } 2027 //116 2028 /** 2029 * {@link FaceApi#matSearchFaces(MatType,byte[],int,int,CodeInfo,double,int)}泛型方法对应的unchecked方法, 2030 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 2031 * @param <T> T 2032 * @param matType matType 2033 * @param matData matData 2034 * @param width width 2035 * @param height height 2036 * @param facePos facePos 2037 * @param similarty similarty 2038 * @param rows rows 2039 * @return FseResult[] 2040 */ 2041 public <T> FseResult[] matSearchFacesUnchecked (MatType matType,T matData,int width,int height,CodeInfo facePos,double similarty,int rows) { 2042 try{ 2043 return matSearchFaces(matType,matData,width,height,facePos,similarty,rows); 2044 } catch(RuntimeException e){ 2045 throw e; 2046 } catch(Exception e){ 2047 throw new RuntimeException(e); 2048 } 2049 } 2050 //117 2051 /** 2052 * 参见{@link FaceApi#matSearchFaces(MatType,byte[],int,int,CodeInfo,double,int)} 2053 * @param matType matType 2054 * @param matData matData ByteBuffer 2055 * @param width width 2056 * @param height height 2057 * @param facePos facePos 2058 * @param similarty similarty 2059 * @param rows rows 2060 * @return FseResult[] 2061 * @throws ImageErrorException ImageErrorException 2062 * @throws NotFaceDetectedException NotFaceDetectedException 2063 * @throws IOException IOException 2064 * @see FaceApi#matSearchFaces(MatType,byte[],int,int,CodeInfo,double,int) 2065 */ 2066 public FseResult[] matSearchFaces (MatType matType,ByteBuffer matData,int width,int height,CodeInfo facePos,double similarty,int rows) throws ImageErrorException,NotFaceDetectedException,IOException{ 2067 return matSearchFaces(matType,BinaryUtils.getBytesNotEmpty(matData),width,height,facePos,similarty,rows); 2068 } 2069 //118 2070 /** 2071 * {@link #matSearchFaces (MatType,ByteBuffer,int,int,CodeInfo,double,int)}对应的unchecked方法, 2072 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 2073 * @param <T> T 2074 * @param matType matType 2075 * @param matData matData 2076 * @param width width 2077 * @param height height 2078 * @param facePos facePos 2079 * @param similarty similarty 2080 * @param rows rows 2081 * @return FseResult[] 2082 */ 2083 public <T> FseResult[] matSearchFacesUnchecked (MatType matType,ByteBuffer matData,int width,int height,CodeInfo facePos,double similarty,int rows) { 2084 try{ 2085 return matSearchFaces(matType,matData,width,height,facePos,similarty,rows); 2086 } catch(RuntimeException e){ 2087 throw e; 2088 } catch(Exception e){ 2089 throw new RuntimeException(e); 2090 } 2091 } 2092 2093 //119 2094 /** 2095 * {@link FaceApi#matWearMask(MatType,byte[],int,int,CodeInfo)}对应的泛型方法<br> 2096 * @param <T> T 2097 * @param matType matType 2098 * @param matData matData 2099 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 2100 * @param width width 2101 * @param height height 2102 * @param faceInfo faceInfo 2103 * @return Boolean 2104 * @throws IOException IOException 2105 * @see FaceApi#matWearMask(MatType,byte[],int,int,CodeInfo) 2106 */ 2107 public <T> Boolean matWearMask (MatType matType,T matData,int width,int height,CodeInfo faceInfo) throws IOException{ 2108 return matWearMask(matType,BinaryUtils.getBytesNotEmpty(matData),width,height,faceInfo); 2109 } 2110 //120 2111 /** 2112 * {@link FaceApi#matWearMask(MatType,byte[],int,int,CodeInfo)}泛型方法对应的unchecked方法, 2113 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 2114 * @param <T> T 2115 * @param matType matType 2116 * @param matData matData 2117 * @param width width 2118 * @param height height 2119 * @param faceInfo faceInfo 2120 * @return Boolean 2121 */ 2122 public <T> Boolean matWearMaskUnchecked (MatType matType,T matData,int width,int height,CodeInfo faceInfo) { 2123 try{ 2124 return matWearMask(matType,matData,width,height,faceInfo); 2125 } catch(RuntimeException e){ 2126 throw e; 2127 } catch(Exception e){ 2128 throw new RuntimeException(e); 2129 } 2130 } 2131 //121 2132 /** 2133 * 参见{@link FaceApi#matWearMask(MatType,byte[],int,int,CodeInfo)} 2134 * @param matType matType 2135 * @param matData matData ByteBuffer 2136 * @param width width 2137 * @param height height 2138 * @param faceInfo faceInfo 2139 * @return Boolean 2140 * @throws IOException IOException 2141 * @see FaceApi#matWearMask(MatType,byte[],int,int,CodeInfo) 2142 */ 2143 public Boolean matWearMask (MatType matType,ByteBuffer matData,int width,int height,CodeInfo faceInfo) throws IOException{ 2144 return matWearMask(matType,BinaryUtils.getBytesNotEmpty(matData),width,height,faceInfo); 2145 } 2146 //122 2147 /** 2148 * {@link #matWearMask (MatType,ByteBuffer,int,int,CodeInfo)}对应的unchecked方法, 2149 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 2150 * @param <T> T 2151 * @param matType matType 2152 * @param matData matData 2153 * @param width width 2154 * @param height height 2155 * @param faceInfo faceInfo 2156 * @return Boolean 2157 */ 2158 public <T> Boolean matWearMaskUnchecked (MatType matType,ByteBuffer matData,int width,int height,CodeInfo faceInfo) { 2159 try{ 2160 return matWearMask(matType,matData,width,height,faceInfo); 2161 } catch(RuntimeException e){ 2162 throw e; 2163 } catch(Exception e){ 2164 throw new RuntimeException(e); 2165 } 2166 } 2167 2168 //123 2169 /** 2170 * {@link FaceApi#searchFaces(byte[],CodeInfo,double,int)}对应的泛型方法<br> 2171 * @param <T> T 2172 * @param imgData imgData 2173 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 2174 * @param facePos facePos 2175 * @param similarty similarty 2176 * @param rows rows 2177 * @return FseResult[] 2178 * @throws ImageErrorException ImageErrorException 2179 * @throws NotFaceDetectedException NotFaceDetectedException 2180 * @throws IOException IOException 2181 * @see FaceApi#searchFaces(byte[],CodeInfo,double,int) 2182 */ 2183 public <T> FseResult[] searchFaces (T imgData,CodeInfo facePos,double similarty,int rows) throws ImageErrorException,NotFaceDetectedException,IOException{ 2184 return searchFaces(BinaryUtils.getBytesNotEmpty(imgData),facePos,similarty,rows); 2185 } 2186 //124 2187 /** 2188 * {@link FaceApi#searchFaces(byte[],CodeInfo,double,int)}泛型方法对应的unchecked方法, 2189 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 2190 * @param <T> T 2191 * @param imgData imgData 2192 * @param facePos facePos 2193 * @param similarty similarty 2194 * @param rows rows 2195 * @return FseResult[] 2196 */ 2197 public <T> FseResult[] searchFacesUnchecked (T imgData,CodeInfo facePos,double similarty,int rows) { 2198 try{ 2199 return searchFaces(imgData,facePos,similarty,rows); 2200 } catch(RuntimeException e){ 2201 throw e; 2202 } catch(Exception e){ 2203 throw new RuntimeException(e); 2204 } 2205 } 2206 //125 2207 /** 2208 * 参见{@link FaceApi#searchFaces(byte[],CodeInfo,double,int)} 2209 * @param imgData imgData InputStream 2210 * @param facePos facePos 2211 * @param similarty similarty 2212 * @param rows rows 2213 * @return FseResult[] 2214 * @throws ImageErrorException ImageErrorException 2215 * @throws NotFaceDetectedException NotFaceDetectedException 2216 * @throws IOException IOException 2217 * @see FaceApi#searchFaces(byte[],CodeInfo,double,int) 2218 */ 2219 public FseResult[] searchFaces (InputStream imgData,CodeInfo facePos,double similarty,int rows) throws ImageErrorException,NotFaceDetectedException,IOException{ 2220 return searchFaces(BinaryUtils.getBytesNotEmpty(imgData),facePos,similarty,rows); 2221 } 2222 //126 2223 /** 2224 * {@link #searchFaces (InputStream,CodeInfo,double,int)}对应的unchecked方法, 2225 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 2226 * @param <T> T 2227 * @param imgData imgData 2228 * @param facePos facePos 2229 * @param similarty similarty 2230 * @param rows rows 2231 * @return FseResult[] 2232 */ 2233 public <T> FseResult[] searchFacesUnchecked (InputStream imgData,CodeInfo facePos,double similarty,int rows) { 2234 try{ 2235 return searchFaces(imgData,facePos,similarty,rows); 2236 } catch(RuntimeException e){ 2237 throw e; 2238 } catch(Exception e){ 2239 throw new RuntimeException(e); 2240 } 2241 } 2242 2243 //127 2244 /** 2245 * 参见{@link FaceApi#searchFaces(byte[],CodeInfo,double,int)} 2246 * @param imgData imgData URL 2247 * @param facePos facePos 2248 * @param similarty similarty 2249 * @param rows rows 2250 * @return FseResult[] 2251 * @throws ImageErrorException ImageErrorException 2252 * @throws NotFaceDetectedException NotFaceDetectedException 2253 * @throws IOException IOException 2254 * @see FaceApi#searchFaces(byte[],CodeInfo,double,int) 2255 */ 2256 public FseResult[] searchFaces (URL imgData,CodeInfo facePos,double similarty,int rows) throws ImageErrorException,NotFaceDetectedException,IOException{ 2257 return searchFaces(BinaryUtils.getBytesNotEmpty(imgData),facePos,similarty,rows); 2258 } 2259 //128 2260 /** 2261 * {@link #searchFaces (URL,CodeInfo,double,int)}对应的unchecked方法, 2262 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 2263 * @param <T> T 2264 * @param imgData imgData 2265 * @param facePos facePos 2266 * @param similarty similarty 2267 * @param rows rows 2268 * @return FseResult[] 2269 */ 2270 public <T> FseResult[] searchFacesUnchecked (URL imgData,CodeInfo facePos,double similarty,int rows) { 2271 try{ 2272 return searchFaces(imgData,facePos,similarty,rows); 2273 } catch(RuntimeException e){ 2274 throw e; 2275 } catch(Exception e){ 2276 throw new RuntimeException(e); 2277 } 2278 } 2279 2280 //129 2281 /** 2282 * 参见{@link FaceApi#searchFaces(byte[],CodeInfo,double,int)} 2283 * @param imgData imgData File 2284 * @param facePos facePos 2285 * @param similarty similarty 2286 * @param rows rows 2287 * @return FseResult[] 2288 * @throws ImageErrorException ImageErrorException 2289 * @throws NotFaceDetectedException NotFaceDetectedException 2290 * @throws IOException IOException 2291 * @see FaceApi#searchFaces(byte[],CodeInfo,double,int) 2292 */ 2293 public FseResult[] searchFaces (File imgData,CodeInfo facePos,double similarty,int rows) throws ImageErrorException,NotFaceDetectedException,IOException{ 2294 return searchFaces(BinaryUtils.getBytesNotEmpty(imgData),facePos,similarty,rows); 2295 } 2296 //130 2297 /** 2298 * {@link #searchFaces (File,CodeInfo,double,int)}对应的unchecked方法, 2299 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 2300 * @param <T> T 2301 * @param imgData imgData 2302 * @param facePos facePos 2303 * @param similarty similarty 2304 * @param rows rows 2305 * @return FseResult[] 2306 */ 2307 public <T> FseResult[] searchFacesUnchecked (File imgData,CodeInfo facePos,double similarty,int rows) { 2308 try{ 2309 return searchFaces(imgData,facePos,similarty,rows); 2310 } catch(RuntimeException e){ 2311 throw e; 2312 } catch(Exception e){ 2313 throw new RuntimeException(e); 2314 } 2315 } 2316 2317 //131 2318 /** 2319 * 参见{@link FaceApi#searchFaces(byte[],CodeInfo,double,int)} 2320 * @param imgData imgData ByteBuffer 2321 * @param facePos facePos 2322 * @param similarty similarty 2323 * @param rows rows 2324 * @return FseResult[] 2325 * @throws ImageErrorException ImageErrorException 2326 * @throws NotFaceDetectedException NotFaceDetectedException 2327 * @throws IOException IOException 2328 * @see FaceApi#searchFaces(byte[],CodeInfo,double,int) 2329 */ 2330 public FseResult[] searchFaces (ByteBuffer imgData,CodeInfo facePos,double similarty,int rows) throws ImageErrorException,NotFaceDetectedException,IOException{ 2331 return searchFaces(BinaryUtils.getBytesNotEmpty(imgData),facePos,similarty,rows); 2332 } 2333 //132 2334 /** 2335 * {@link #searchFaces (ByteBuffer,CodeInfo,double,int)}对应的unchecked方法, 2336 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 2337 * @param <T> T 2338 * @param imgData imgData 2339 * @param facePos facePos 2340 * @param similarty similarty 2341 * @param rows rows 2342 * @return FseResult[] 2343 */ 2344 public <T> FseResult[] searchFacesUnchecked (ByteBuffer imgData,CodeInfo facePos,double similarty,int rows) { 2345 try{ 2346 return searchFaces(imgData,facePos,similarty,rows); 2347 } catch(RuntimeException e){ 2348 throw e; 2349 } catch(Exception e){ 2350 throw new RuntimeException(e); 2351 } 2352 } 2353 2354 //133 2355 /** 2356 * {@link FaceApi#searchFeatures(byte[],double,int)}对应的泛型方法<br> 2357 * @param <T> T 2358 * @param feature feature 2359 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 2360 * @param similarty similarty 2361 * @param rows rows 2362 * @return FseResult[] 2363 * @throws IOException IOException 2364 * @see FaceApi#searchFeatures(byte[],double,int) 2365 */ 2366 public <T> FseResult[] searchFeatures (T feature,double similarty,int rows) throws IOException{ 2367 return searchFeatures(BinaryUtils.getBytesNotEmpty(feature),similarty,rows); 2368 } 2369 //134 2370 /** 2371 * {@link FaceApi#searchFeatures(byte[],double,int)}泛型方法对应的unchecked方法, 2372 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 2373 * @param <T> T 2374 * @param feature feature 2375 * @param similarty similarty 2376 * @param rows rows 2377 * @return FseResult[] 2378 */ 2379 public <T> FseResult[] searchFeaturesUnchecked (T feature,double similarty,int rows) { 2380 try{ 2381 return searchFeatures(feature,similarty,rows); 2382 } catch(RuntimeException e){ 2383 throw e; 2384 } catch(Exception e){ 2385 throw new RuntimeException(e); 2386 } 2387 } 2388 //135 2389 /** 2390 * {@link FaceApi#wearMask(byte[],CodeInfo)}对应的泛型方法<br> 2391 * @param <T> T 2392 * @param imgData imgData 2393 * 泛型参数,参见 {@link net.gdface.utils.BinaryUtils#getBytesNotEmpty(Object)} 2394 * @param faceInfo faceInfo 2395 * @return Boolean 2396 * @throws ImageErrorException ImageErrorException 2397 * @throws IOException IOException 2398 * @see FaceApi#wearMask(byte[],CodeInfo) 2399 */ 2400 public <T> Boolean wearMask (T imgData,CodeInfo faceInfo) throws ImageErrorException,IOException{ 2401 return wearMask(BinaryUtils.getBytesNotEmpty(imgData),faceInfo); 2402 } 2403 //136 2404 /** 2405 * {@link FaceApi#wearMask(byte[],CodeInfo)}泛型方法对应的unchecked方法, 2406 * 所有显式申明的异常都被封装到{@link RuntimeException}抛出<br> 2407 * @param <T> T 2408 * @param imgData imgData 2409 * @param faceInfo faceInfo 2410 * @return Boolean 2411 */ 2412 public <T> Boolean wearMaskUnchecked (T imgData,CodeInfo faceInfo) { 2413 try{ 2414 return wearMask(imgData,faceInfo); 2415 } catch(RuntimeException e){ 2416 throw e; 2417 } catch(Exception e){ 2418 throw new RuntimeException(e); 2419 } 2420 } 2421 2422}