Como seu PC tem 16 GiB de RAM instalados, um único aplicativo de 32 bits rodando em um kernel de 32 bits pode usar um pouco mais de 3 GiB (não 4 GiB, pois ele tem que compartilhar uma parte de sua memória com o linux núcleo).
Um aplicativo de 64 bits em um kernel de 64 bits terá um espaço de endereço "utilizável" muito mais alto, essencialmente limitado pela configuração de supercomprometimento.
Se você planeja realmente usar muitas páginas alocadas, é necessário garantir que essas páginas sejam suportadas pela RAM ou pela área de troca. Por exemplo, se você configurou a partição de troca para 16 GiB, não será possível acessar mais de 32 GiB menos a quantidade de memória já reservada pelo kernel e por outros aplicativos em execução.
Existe uma exceção a essa limitação. Se você usar arquivos mapeados em memória somente leitura ou compartilhada, não haverá necessidade de paginar seu conteúdo para a área de troca para que seu tamanho seja adicionado ao espaço de endereço utilizável de seu programa.
No seu caso, sugiro usar arquivos mapeados na memória para carregar e possivelmente processar suas imagens RGB. Tenha em atenção que, se o seu conjunto de memória de trabalho exceder significativamente o tamanho da RAM, o desempenho será gravemente degradado devido à sobrecarga de memória.