簡體   English   中英

使用opencv進行顏色檢測

[英]color detection using opencv

我正在嘗試使用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嗎? (但是,這似乎是Internet上許多代碼示例中的標准方法)。

好的,我使用基於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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM