0
給定多通道圖像(例如BGR),爲像素值相等生成(二進制)1C
掩碼的最有效方法是什麼?生成單通道掩碼
cv::compare()
僅適用於單通道輸入圖像。使用op==
產生3C
掩模。
我可以然後reduce
,但這似乎是一個浪費的第二遍。
有沒有一種方法可以做到這一點?
給定多通道圖像(例如BGR),爲像素值相等生成(二進制)1C
掩碼的最有效方法是什麼?生成單通道掩碼
cv::compare()
僅適用於單通道輸入圖像。使用op==
產生3C
掩模。
我可以然後reduce
,但這似乎是一個浪費的第二遍。
有沒有一種方法可以做到這一點?
對於多通道矩陣,您需要使用cv::inRange()
,它採用單通道,3通道或4通道圖像作爲src
,並將顏色的上限和下限進行分段。由於您要測試給定Color的相等性,因此您需要將lower_bound
和upper_bound
作爲相同的標量值。
cv::Scalar color = cv::Scalar(100, 200, 150);
cv::Mat mask;
cv::inRange(img, color, color, mask);
啊!我忘了那個功能!謝謝! –
爲了完整起見,這裏有最新文檔的鏈接:http://docs.opencv.org/3.2.0/d2/de8/group__core__array.html#ga48af0ab51e36436c5d04340e036ce981。 –