A me funziona con qualsiasi browser, basta usarlo correttamente.
In ogni caso, le linee che hai postato non danno nessun problema (a patto che il file immagine esista e venga aperto, cosa che non hai controllato).
Comunque così accedi al pixel 1,1 (che non è il primo, che ha coordinate 0,0) e se vuoi visualizzare la componente red (che è in un unsigned char) devi eseguire il cast ad int
std::cout << (int)colour.red << std::endl;