OpenCVImageBlurTest.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.bytesflow.opencv.media.test;
  2. import com.bytesflow.opencv.media.jni.PQCVMediaProcessor;
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileNotFoundException;
  6. import java.util.concurrent.CountDownLatch;
  7. import java.util.concurrent.ExecutorService;
  8. import java.util.concurrent.Executors;
  9. public class OpenCVImageBlurTest {
  10. public static void main(String[] args) {
  11. int count = 10;
  12. try {
  13. PQCVMediaProcessor.initSDK("/Users/devyk/Data/Project/sample/github_code/OpenCVSample/output/lib/libpiaoquan_java_opencv.dylib");
  14. } catch (FileNotFoundException e) {
  15. e.printStackTrace();
  16. return;
  17. }
  18. ExecutorService executorService = Executors.newFixedThreadPool(count);
  19. for (; ; ) {
  20. CountDownLatch countDownLatch = new CountDownLatch(count);
  21. for (int i = 0; i < count; i++) {
  22. executorService.execute(new ImageBlurRunable(countDownLatch));
  23. }
  24. try {
  25. countDownLatch.await();
  26. Thread.sleep(1000);
  27. } catch (InterruptedException e) {
  28. e.printStackTrace();
  29. }
  30. }
  31. }
  32. private static class ImageBlurRunable implements Runnable {
  33. private CountDownLatch countDownLatch;
  34. public ImageBlurRunable(CountDownLatch countDownLatch) {
  35. this.countDownLatch = countDownLatch;
  36. }
  37. @Override
  38. public void run() {
  39. blurTest();
  40. countDownLatch.countDown();
  41. }
  42. }
  43. private static void blurTest() {
  44. try {
  45. String path = "/Users/devyk/Downloads/black.png";
  46. int ret;
  47. ret = PQCVMediaProcessor.blurDetectionFromImagePath(path);
  48. System.out.println("PQCVMediaProcessor path = " + ret);
  49. File file = new File(path);
  50. byte[] images = new byte[(int) file.length()];
  51. FileInputStream fileInputStream = new FileInputStream(file);
  52. fileInputStream.read(images);
  53. ret = PQCVMediaProcessor.blurDetectionFromImageBytes(images);
  54. fileInputStream.close();
  55. System.out.println("PQCVMediaProcessor bytes = " + ret);
  56. } catch (Exception e) {
  57. e.printStackTrace();
  58. }
  59. }
  60. }