hi im trying to find all the strains in a given image, but something is wrong with my code. cant find the problem
Code:
void StrainFinder(pix** pixel, int H, int W){
int i, j, sum = 1, size, J, I;
double intens;
Strain strain;
Dtrain* strainp = &strain;
final* head;
int counter = 0;
head = NULL;
for (i = 0; i < H; i++)
{
for (j = 0; j < W; j++)
{
if (pixel[i][j].marker == 0 && pixel[i][j].intens >= <intens value>)
{
dustp->totalintens = 0;
dustp->size = 0;
dustp->Jmax = j;
dustp->Jmin = j;
dustp->Imax = i;
dustp->Imin = i;
Summerize(pixel, H, W, i, j, strainp);
if (strainp->size >= <minimum size of stain to find>)
{
counter++;
if (counter == 1)
{
intens = (strainp->totalintens / strainp->size);
strainp->Jmax++;
strainp->Imax++;
J = ceil((double)(strainp->Jmax - strainp->Jmin) / 2)+ strainp->Jmin;
I = ceil((double)(strainp->Imax - strainp->Imin) / 2)+ strainp->Imin;
size = strainp->size;
head = malloc(sizeof(Strain));
head->intens = strainp->totalintens / strainp->size;
head->J = (strainp->Jmax - strainp->Jmin) / 2;
head->I = (strainp->Imax - strainp->Imin) / 2;
head->size = strainp->size;
head->next = NULL;
}
else
{
Collector(head, strainp);
}
}
}
}
}
}