labby 0 Newbie Poster

Hi,

I want to scan intensity value of pixel for binary image. Here is the code that I build.

byte* p = (byte*)imgData.Scan0.ToPointer();
int i = 0;

                for (int y = 0; y < height; y++)
                {
                    for (int x = 0; x < width; x++)
                    {
                        {

                            if (*p != 0)// white
                            {
                                i++;
                            }

                            else 
                            {
                                i = 0;
                            }
                        }
                        ++p;
                    }

                    p += srcOffset;

                }

                if (i >= 10)

                    resultScan = "PASS";

                else
                    resultScan = "FAIL";

Here, I want to make it;
If there are any intensity values of pixel other than zero, and the total of that pixel is more or similar to 10, it will return ‘PASS’. Otherwise it will return ‘FAIL’. Means, it will return ‘PASS’ if I put object in the field of view and returns ‘FAIL’ if no object in the field of view.

However, it not gives right answer. It just give ‘FAIL’ statement for both condition. I’m sure this is not the mistake from type of image input but something wrong with the condition of “if else”. Could any body help me please to check where the mistakes are? Thanks.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.