2014-02-22 54 views
0

所以說我使用hacascascade找到鏈接圖像中的正方形的座標和字母的座標。如何僅使用OpenCV找到正方形的rgb值?我很抱歉,如果這是一個非常基本的問題,但我想知道如何做到這一點。如何找到圖像的特定部分的RGB值?

Here's an example of the image

需要注意的是,當我真正使用該程序的草地實際上採取了大部分的圖像。

感謝提前!

+0

感謝編輯Wilf。我不允許自己發佈圖片! – Maz

回答

0

要訪問的像素在一個CV_8UC3(即與無符號字符數據類型的3信道的圖像)時,可以寫爲:

const Vec3u& pixel = image.at<Vec3u>(row, col); 

正如你說你有盒子和字母的座標,你只需要把它們放在這裏。

更新:如果區域是不是一個單一的顏色,你需要獲得一個平均,你可以這樣說:

  1. 創建一個面具m1覆蓋字母的所有像素, cv::fillPoly
  2. 使用cv::mean與圖像和麪具m1獲得您的信件的平均顏色。
  3. 創建一個掩碼m2,它覆蓋了您的郵箱的所有像素,同樣使用cv::fillPoly
  4. 由於此掩碼也包含字母的像素,因此您必須從m2「刪除」m1。與cv::setTo一起做。
  5. 再次使用cv::mean與圖像和麪具m2獲得您的框的平均顏色。
+0

好吧,所以使用一個循環,我可以將所有值加起來,並將它們平均以找到感興趣區域的顏色。萬分感謝!!我給你投票了,但我需要15個代表這樣做:/。 – Maz

+0

那麼,在你的形象中,所有的區域似乎都是單一的顏色,不是?在這種情況下,你只需要一個像素。 – ChronoTrigger

+0

在實際測試中,圖像不會像本例中那樣完美。這一個像素可能會出現在異常黑暗的地方,或者剛剛離開紅色部分的邊界。 – Maz

相關問題