Java HersheyFonts从OpenCV 4.2.0核心类文件中消失

Java HersheyFonts从OpenCV 4.2.0核心类文件中消失,java,android-studio,opencv,Java,Android Studio,Opencv,当我研究一些开发人员发布的OpenCV代码以获取示例时 我发现一个错误无法解析符号“FONT\u HERSHEY\u SIMPLEX” 虽然我尝试了几次来解决它,但错误仍然没有得到解决 在谷歌搜索了一段时间后, 我发现OpenCV 4.2.0中的核心类没有静态int组:FONT\u HERSHEY\u 在OpenCV 3.4.0的核心类出现之前,HersheyFonts一直在帮助配置字体 但是我安装的OpenCV 4.2.0不再有那个变量了 嗯。。。为什么在4.2.0版本的Core Class中

当我研究一些开发人员发布的OpenCV代码以获取示例时

我发现一个错误无法解析符号“FONT\u HERSHEY\u SIMPLEX”

虽然我尝试了几次来解决它,但错误仍然没有得到解决

在谷歌搜索了一段时间后, 我发现OpenCV 4.2.0中的核心类没有静态int组:FONT\u HERSHEY\u

在OpenCV 3.4.0的核心类出现之前,HersheyFonts一直在帮助配置字体

但是我安装的OpenCV 4.2.0不再有那个变量了

嗯。。。为什么在4.2.0版本的Core Class中删除了
HersheyFont
变量?我应该如何使用它来替换它?

代码::第二行“Core.FONT\u HERSHEY\u SIMPLEX”导致错误 字体很抱歉我一直在修改它ㅠㅠ..

private void setLabel(Mat im, String label, MatOfPoint contour) {
    int fontface = Core.FONT_HERSHEY_SIMPLEX;
    double scale = 3;//0.4;
    int thickness = 3;//1;
    int[] baseline = new int[1];
    Size text = Imgproc.getTextSize(label, fontface, scale, thickness, baseline);
    Rect r = Imgproc.boundingRect(contour);
    Point pt = new Point(r.x + ((r.width - text.width) / 2),r.y + ((r.height + text.height) / 2));
    Imgproc.putText(im, label, pt, fontface, scale, new Scalar(255, 0, 0), thickness);
}

谢谢你们每次都给出了很好的答案,我希望你们今天过得愉快。

它没有被删除。它的模块改变了HersheyFonts可在上使用。

对于Java,您应该与新的OpenCV版本4.0+一起使用

所需进口

import org.opencv.imgproc.Imgproc;
现在是你的常数

Imgproc.FONT_HERSHEY_SIMPLEX
它被重构并转移到另一个类Imgproc中。因此,您的新代码将

private void setLabel(Mat im, String label, MatOfPoint contour) {
   int fontface = Imgproc.FONT_HERSHEY_SIMPLEX;

哇!非常感谢。现在我可以用另一种方式使用HersheyFonts。正如所料,发展的世界是伟大的!谢谢你善意的回答!祝你今天愉快!>爪哇中的C++,我可以导入FunthHelsy!!!非常感谢您找到解决问题的方法