Intellij Idea 错误:“java:找不到符号-符号:方法inRange”

tjjdgumg  于 2023-06-21  发布在  Java
关注(0)|答案(2)|浏览(151)

我正在开发一个Java项目,该项目使用OpenCV 4.1.2进行图像处理。但是,我在使用Imgproc类时遇到了一个错误。我收到的具体错误消息是:java: cannot find symbol symbol: method inRange(org.opencv.core.Mat,org.opencv.core.Scalar,org.opencv.core.Scalar,org.opencv.core.Mat) location: class org.opencv.imgproc.Imgproc我已经成功导入了必要的类,并验证了我使用的是OpenCV 4.1.2和Java 8。Imgproc类的其他方法(如cvtColor和GaussianBlur)工作正常。然而,inRange方法似乎是unrecognized.my代码:

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Scalar;
import org.opencv.core.Size;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

public class Main {
    public static void main(String[] args) {
        // Press Alt+Entrée with your caret at the highlighted text to see how
        // IntelliJ IDEA suggests fixing it.

        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        Mat image = Imgcodecs.imread("C:\\Users\\hp probook x360 435\\Videos\\pfa\\111.jfif");
        Mat BLUR = new Mat();
        Mat DST=new Mat();
        Imgproc.GaussianBlur(image, BLUR, new Size(5,5), 0);
        Scalar LOWER=new Scalar(18,90,180);
        Scalar UPPER=new Scalar(35,255,255);
        Imgproc.cvtColor(image, BLUR, Imgproc.COLOR_BGR2HSV);
        Imgproc.inRange(BLUR,LOWER,UPPER,DST);
        HighGui.imshow("Original Image", image);
        HighGui.imshow("Grayscale Image", BLUR);
        HighGui.waitKey(0);

        // Press Maj+F10 or click the green arrow button in the gutter to run the code.

    }
}

我已经检查了我的构建配置,验证了正确的导入,并确保OpenCV库被正确设置。
对于如何解决这个问题并成功使用inRange方法,有什么建议吗?提前感谢您的帮助。

vpfxa7rd

vpfxa7rd1#

我猜方法“inRange”在这个类“org.opencv.core.Core”中

//so this line  
Imgproc.inRange(BLUR,LOWER,UPPER,DST) 
should be changed to 
Core.inRange(BLUR,LOWER,UPPER,DST);
z0qdvdin

z0qdvdin2#

验证导入的语句是否正确。它应该是import org.opencv.imgproc.Imgproc;。仔细检查进口声明中的任何打字错误或错误。
如果最近更新了OpenCV,请确保重新编译代码以反映更改。有时,IDE或构建工具可以缓存以前版本的库,因此重新编译可以确保使用更新的版本。

相关问题