2014-03-06 106 views
2

我想在Mat類型的圖像中訪問OpenCV中的像素。在OpenCV中訪問Mat的像素

比方說,我做的事:

Mat image; 

我要訪問的像素30,50的形象。

我試圖做image[30][50],但它沒有奏效。

任何想法?非常感謝!!!

+0

有關像素訪問的更多信息:http://docs.opencv.org/doc/tutorials/core/how_to_scan_images/how_to_scan_images.html#howtoscanimagesopencv 有關Mat中像素訪問的更多信息:https://stackoverflow.com/questions/7399344 /保存-CV-16sc2墊到一個文件,OpenCV的/ 22102303#22102303 –

回答

1
  • 對於灰度:

    uchar intensity = image.at<uchar>(y, x);

  • 對於彩色圖像:

    Vec3b intensity = image.at<Vec3b>(y, x); 
    uchar blue = intensity.val[0]; 
    uchar green = intensity.val[1]; 
    uchar red = intensity.val[2]; 
    

注:x是水平軸和y是垂直軸,即x=50, y=30