Como ler uma área especifica de uma imagem e mostrar o tanto de pixels preto dentro dessa área?

Por exemplo em uma área de 20x20, dentro dessa área contar o tanto de pixels preto dessa área.
não sei como começar fazer isso, sei poucas coisas de java e python.

Deixo uma imagem de exemplo.

/**
 * Conta a quantidade de pixels de determinada cor dentro da regiao especificada.
 * 
 * @param imagem A imagem.
 * @param regiao A região da imagem.
 * @param cor    A cor que é pra ser contada.
 * @return A quantidade de pixels da cor informada encontrados dentro da região.
 */
public static int countPixels(BufferedImage imagem, Rectangle regiao, Color cor) {
    int contador = 0;
    int rgb = cor.getRGB();
    BufferedImage selecao = imagem.getSubimage(regiao.x, regiao.y, regiao.width, regiao.height);
    for (int y = 0; y < selecao.getHeight(); y++) {
        for (int x = 0; x < selecao.getWidth(); x++) {
            if (selecao.getRGB(x, y) == rgb) {
                contador++;
            }
        }
    }
    return contador;
}
2 curtidas