Question:
I would like to add the linhaPreta
to the number of lines only with 0, and the linhaBranca
only with 1.
public class Pixel {
public static void main(String[] args) {
int[][] img = {
{ 1, 1, 1, 1, 1, 1, 1, 1 },
{ 0, 1, 0, 1, 1, 1, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 0, 0, 1, 1, 1, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0 },};
int ppreto = 0;
int pbranco = 0;
int linhaPreta = 0;
int linhaBranca = 0;
int i;
int j = 0;
for (i = 0; i < img.length; i++) {
for (j = 0; j < img[i].length; j++) {
if (img[i][j] == 0) {
ppreto++;
}
if (img[i][j] == 1) {
pbranco++;
}
if (img[i].length == 0) {
linhaPreta++;
}
if (img[i].length == 0) {
linhaBranca++;
}
}
}
System.out.print("qtde ponto preto = " + ppreto + "\n");
System.out.print("qtde ponto branco = " + pbranco + "\n");
System.out.print("Qtd linha preta = " + linhaPreta + "\n");
System.out.print("Qtd linha branca= " + linhaBranca + "\n");
}
}
Answer:
Simple solution suggestion:
For each "line" in your image, add the pixels together. If the sum is zero (0) the line is "all black". If the sum equals the number of pixels in the line, the line is "all white".
int[][] img = {
{ 1, 1, 1, 1, 1, 1, 1, 1 },
{ 0, 1, 0, 1, 1, 1, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0 },
{ 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 0, 0, 1, 1, 1, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0 },};
int linhaPreta = 0;
int linhaBranca = 0;
for (int i = 0; i < img.length; i++) {
int soma = 0;
for (int j = 0; j < img[i].length; j++)
soma += img[i][j];
if(soma == 0)
linhaPreta++;
else if(soma == img[i].length)
linhaBranca++;
}