Доступ к пикселю Mat в OpenCV

Я хочу получить доступ к пикселю в OpenCV в изображении типа Mat.

Допустим, я делаю:

Mat image;

Я хочу получить доступ к пикселю 30, 50 на изображении.

Я пытался сделать image[30][50], но не получилось.

Любые идеи? Большое спасибо!!!


person user3369375    schedule 06.03.2014    source источник
comment
Дополнительная информация о доступе к пикселям: docs.opencv.org/doc/ tutorials/core/how_to_scan_images/ Дополнительная информация о доступе к пикселям в Mat: stackoverflow.com/questions/7399344/   -  person Sebastian Schmitz    schedule 07.03.2014


Ответы (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.

person herohuyongtao    schedule 06.03.2014