我正在尝试使用opencv从下图中提取标题栏。
我使用以下代码 -
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat original = Imgcodecs.imread("D:/test_bg_extract.png", Imgcodecs.CV_LOAD_IMAGE_UNCHANGED);
Mat hsvMat = new Mat();
Imgproc.cvtColor(original, hsvMat, Imgproc.COLOR_BGR2HSV);
Mat dst = new Mat();
Core.inRange(hsvMat, new Scalar(23,231,205), new Scalar(23,231,205), dst);
我使用颜色选择器来确定标题栏的HSV值(从hsvMat转换为显示图像)。当运行代码显示输出时,我看到一个空白屏幕。我不知道我做错了什么。我选错了HSV颜色吗?如果我知道确切的RGB代码,那么我是否应该将图像转换为HSV? (但这似乎是互联网上许多代码示例的标准方法)。
答案 0 :(得分:0)
好的,我使用基于RGB的颜色解决了它,切换到BGR同时指定了我需要的颜色。所以这有效 -
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat original = Imgcodecs.imread("D:/test_bg_extract.png", Imgcodecs.CV_LOAD_IMAGE_UNCHANGED);
Mat dst = new Mat();
Core.inRange(original, new Scalar(132,178,205), new Scalar(132,178,205), dst);