Usando Mat :: at (i, j) em opencv para um objeto Mat 2-D

Eu estou usando o Ubuntu 12.04 e o OpenCV 2

Eu escrevi o seguinte código:

IplImage* img =0;
img = cvLoadImage("nature.jpg");
if(img != 0)
{
    Mat Img_mat(img);
    std::vector<Mat> RGB;
    split(Img_mat, RGB);

    int data = (RGB[0]).at<int>(i,j)); /*Where i, j are inside the bounds of the matrix size .. i have checked this*/ 
}

O problema é que estou recebendo valores negativos e valores muito grandes na variável de dados. Acho que cometi algum erro em algum lugar. Você pode por favor apontar isso?
Eu tenho lido a documentação (eu não terminei completamente .. é bem grande). Mas pelo que eu li, isto deveria funcionar. Mas não é. o que há de errado aqui?

questionAnswers(3)

yourAnswerToTheQuestion