public static Result verifySignature(String accno) {
    Customer cust = Customer.byAccno(accno);
    float[] src = new float[96];
    String angles = cust.signOneAngles;
    StringTokenizer st = new StringTokenizer(angles, "|");
    int tokenCount = st.countTokens();
    for (int i = 0; i < tokenCount; i++) {
      String token = st.nextToken();
      float angle = Float.parseFloat(token);
      src[i] = angle;
    }
    String inputFile = "public/signatureimages/" + accno + "/" + accno + "_verify.jpg";
    String smoothfilename = "public/signatureimages/" + accno + "/" + accno + "_verify_smooth.jpg";
    String binaryfilename = "public/signatureimages/" + accno + "/" + accno + "_verify_binary.jpg";
    String sizeNormalizeFileName =
        "public/signatureimages/" + accno + "/" + accno + "_verify_normalize.jpg";
    SigImgProcessingController.smoothing(inputFile, smoothfilename);
    SigImgProcessingController.binarization(smoothfilename, binaryfilename);
    SigImgProcessingController.sizeNormalization(binaryfilename, sizeNormalizeFileName);
    float[] trg = SigImgProcessingController.calculateAngles(sizeNormalizeFileName);

    if (SigImgProcessingController.compareBlockAngles(src, trg)) {
      return ok("Signatures Matched");
    } else {
      return ok("Signatures Not Matched");
    }
  }