Skip to main content

Finding Ratio of Background Color in an image

Bitmap class: it is a very useful and rich class for handling basic functionality of an image like reading pixel and its attributes, get height and width of image, create icon from image and etc.

Load an image: To load an image into memory to we can use constructor of this class, like

C#:      Bitmap b = new Bitmap(@”c:\water.jpg”);

This will load an image into ‘b’, a Bitmap instance, where image placed at root directory of C drive with name ‘water.jpg’.

To find the ratio of a predefine background color does not require any complex algorithm. It can simply achieve by counting pixel with background color and then divide by total number of pixel.

To read the color of a pixel we use GetPixel() method. It returns the different properties of pixel at x,y (where x and y are coordinates of image).

C#:           Color c = GetPixel(i,j)

Here Color is a structure represents ARGB color. Here RGB is for Red, Green and Blue … where A is not color but Alpha property…. that represents transparency factor. For a a pixel of white it color it will return ‘ffffffff’. Here A = 100%,(255) R=100%, R=100%, G=1005(255) and B=100%(255).  Now you can get it value by Name property or individual properties of A,R,G and B. Like c.A, c.R, c.G and c.B where c.Name will give a string like ‘ffffffff’.

Code for finding ratio:
C#:

double getRatio(String filename, Color bgColor)
        {
            Bitmap b = new Bitmap(filename); // open bitmap/jpeg file
            int count = 0;     // initialize counter
            for (int i = 0; i < b.Width; i++)     
                for (int j = 0; j < b.Height; j++)
                {
// read each pixel and compare it with backgroup color, if it matche then increment count’s value
                    if (CompareColor(bgColor, b.GetPixel(i, j)))
                        count++;
                }
          // calculate ratio and return
            double imgSize = b.Width*b.Height ;
            return ((count / imgSize ) * 100);
        }


        bool CompareColor(Color x,Color y)
        {
          // compare two Color structure whether they represent same                color or not
            if (x.A == y.A && x.B == y.B && x.G == y.G && x.R == y.R)
                return true; // if both having same color values
            return false; // if not then it will return false
        }

Well back draw of this method is that it will require more process time as it size image increases. I tested it for 200px X 200px image… and it run smoothly … but .. I am sure not for 640 X 480 … for that … it will require a bit Algorithm techniques to run within acceptable time.
Post a Comment

Popular posts from this blog

Mirat-ul-Uroos - Fariha Pervez - Lyrics

میرا ایک چھوٹا سا سپنا ہے
جسے پل میں پورا کر دے گا
ان آتی جاتی سانسوں میں
وہ خوشبو کوئی بھر دے گا
مجھے اونچی ہواوُں میں اڑنا ہے
اور امبر کو جا چھونا ہے
سونا ہے یار کے بستر پر
پھر ہر ایک خواہش میں جگنا ہے
جب چاہوں گھوموں بگھیا میں
میں تتلی ہوں مجھے پر دیتا
وہاں کیسے چیں ملے مجھ کو
جہاں قدم قدم پر پہرے ہوں
دم گھٹتا ہوجہاں  رہتے ہوئے
جہاں غم کے سائے گہرے ہوں
جومنزل پر لے جائے گی
وہ مجھ کو ایسی ڈگر دے گا
میں چلتے چلتے تھک بھی گئی
اور منزل ہاتھ نہیں آئی
خود اپنے سپنے تور لیئے
اور سکھ کی رات نہیں آئی
اب آکے ہوا مجھے انداذہ
میرا ساتھ وہ ذندگی بھر دے گا
کیوں حد سے گزری وحشت میں
اسے دھیرے دھیرے کیوں نہ چھوا
کیوں سارے ناتے ٹوٹ گئے
بھری بھول ہوئی احساس ہوا
جب ٹوٹے لمحے جوڑوں گی
مجھے جینے کی وہ خبر دے گا
میرا چھوٹا سا اک سپنا ہے
جسے پل میں پورا کردے گا
ان آتی جاتی سانسوں میں
وہ خوشبو کوئی بھر دے گا

Khuda Karay K Meri Arz -e- Pak Par Utray

خدا کرے کہ میری ارض پاک پر اترے وہ فصل گل ، جسے اندیشہ زوال نہ ہو یہاں جو پھول کھلے، وہ کھلا رہے صدیوں یہاں خزاں کو گزرنے کی بھی مجال نہ ہو
یہاں جو سبزہ اگے، وہ ہمیشہ سبز رہے اور ایسا سبز ، کہ جس کی کوٴی مثال نہ ہو گھنی گھٹاٴیں یہاں ایسی بارشیں برسا ٴیں کہ پتھروں سے بھی روٴید گی محال نہ ہو
خدا کرے کہ نہ خم ہو سر وقار وطن اور اس کے حسن کو تشویش ماہ و سال نہ ہو ہرایک فرد ہو تہذیب و فن کا اوج کمال کوٴی ملول نہ ہو، کوٴی خستہ حال نہ ہو
خدا کرے کہ میرے اک بھی ہم وطن کےلیے حیات جرم نہ ہو، زندگی وبال نہ ہو خدا کرے کہ میری ارض پاک پر اترے وہ فصل گل ، جسے اندیشہ زوال نہ ہو

ضروری تو نہیں

میں بتا دوں تمہیں ہربات ضروری تو نہیں
آخری ہو یہ ملاقات ضروری تو نہیںجیت جانا تمہیں دشوار نہیں لگتا تھا
آج بھی ہوگی مجھے مات ضروری تو نہیںآدمی فہم و ذکاء سے ہے مزین لیکن
بند ہو جائے خرافات ضروری تو نہیںدل کی راہوں پہ کڑا پہرا ہے خوش فہمی کا
مجھ سے کھیلیں میرے جذبات ضروری تو نہیںامتحاں گاہ سے تو جاتے ہیں سبھی خوش ہوکر
ٹھیک ہوں سب کے جوابات ضروری تو نہیںممتحن میں تو تیرے نام سے لرزاں تھی مگر
تیرے تیکھے ہوں سوالات ضروری تو نہیںمجھ کو انسان کی قدریں بھی بہت بھاتی ہیں
بیش قیمت ہوں جمادات ضروری تو نہیںیوں تو زر اور زمیں بھی ہیں مگر عورت ہو
باعث وجہ فسادات ضروری تو نہیںہر نئے سال کی آمد پر یہ کیوں سوچتی ہوں
اب بدل جائیں گے حالات ضروری تو نہیں[پروین شاکر]