Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá! Sou iniciante em C++ e já estou com problemas! Tenho uma imagem de um bit, ou seja, se tem pixel, seu valor eh 1, se nao tem, seu valor eh 0.
Ex de imagem:
x>12345678910
y
01 0000000000
02 0010000010
03 0000000000
04 0000000000
05 0000011111
06 0000000000
07 0001000000
08 0010000000
09 0100000000
10 1000000000
Correndo a imagem de cima para baixo e da esquerda pra direita, temos entao os pontos: (1,10), (2,9), (3,2), (3,8), (4,7), (6,5), (7,5), (8,5), (9,2), (9,5), (10,5). Assim quero percorrer esta imagem para retirar os pontos: (3,2) e (9,2) isolados na imagem e salvar os pontos que quero em um arraytemp. Mas gostaria de salvar tipo em array[0] os pontos (1,10), (2,9), (3,8), (4,7) e em array[1] os pontos (6,5), (7,5), (8,5), (9,5), (10,5). Alguém tem alguma idéia de como melhor fazer isto?
Aqui está minha tentativa de código com falhas que não sei onde está para retirar os pontos isolados:
int z = 0;
int arraytempx[z];
int arraytempy[z];
int dy = 9; // altura da image em y
int dx = 9; // largura da imagem em x
int pic[dy][dx]; //originalmente pic é dinamico
for (int y=0; y<dy; y++)
{
for (int x=0; x<dx; x++)
{
if (pic[y][x]==0) {continue;}
if (pic[y][x]-pic[y][x+1] == 0) {arraytempx[z++]=x;arraytempy[z++]=y;continue;}
if (pic[y][x]-pic[y+1][x] == 0) {arraytempx[z++]=x;arraytempy[z++]=y;continue;}
if (pic[y][x]-pic[y+1][x+1] == 0) {arraytempx[z++]=x;arraytempy[z++]=y);continue;}
}
}
Valeu galera!Carregando comentários...