#c, image processing, پردازش تصویر, پردازش تصویر در سی شارپ, سی شارپ

خواندن تصاویر در سی شارپ (Read Image)

خواندن تصاویر در سی شارپ

در این قسمت تیم کدگیت را با آموزش خواندن تصاویر در سی شارپ همراهی کنید. در این آموزش ابتدا کلاس‌ها و کتاب خانه هایی که سی شارپ برای کار با تصاویر آماده کرده است را معرفی می‌کنیم و سپس به پیاده سازی مثالی از آنها می‌پردازیم. پیش نیاز این آموزش شامل موارد زیر است:

  1. خواندن فایل در سی شارپ
  2. For در سی شارپ

پردازش تصویر

پردازش تصاویر امروزه بیشتر به موضوع پردازش تصویر دیجیتال گفته می‌شود که شاخه‌ای از دانش رایانه است که با پردازش سیگنال دیجیتال که نماینده تصاویر برداشته شده با دوربین دیجیتال یا پویش شده توسط پویشگر هستند سر و کار دارد.

پردازش تصاویر دارای دو شاخه عمده بهبود تصاویر و بینایی ماشین است. بهبود تصاویر دربرگیرنده روشهایی چون استفاده از فیلتر محوکننده و افزایش تضاد برای بهتر کردن کیفیت دیداری تصاویر و اطمینان از نمایش درست آنها در محیط مقصد (مانند چاپگر یا نمایشگر رایانه)است، در حالی که بینایی ماشین به روشهایی می‌پردازد که به کمک آنها می‌توان معنی و محتوای تصاویر را درک کرد تا از آنها در کارهایی چون رباتیک و محور تصاویر استفاده شود.

خواندن تصاویر در سی شارپ

برای خواندن تصاویر ما از کلاس Bitmap استفاده می‌کنیم. این کلاس برای پردازش تصویر مناسب می‌باشد. گرچه کلاس دیگری به نام Image نیز وجود دارد که می‌توان با استفاده از آن تصاویر را خواند (مطالعه کلاس Image بر عهده شما می‌گذاریم).  کلاس Bitmap متدی به نام GetPixel دارد که رنگ پیکسل ورودی را به ما می‌دهد. همچنین برای دادن آدرس فایل از Constructor استفاده می‌کنیم. کد این مثال به صورت زیر می‌باشد:

        public static void Main (string[] args)
         {
 
             Bitmap myBitmap = new Bitmap("my Image.jpg");
             int width = myBitmap.Width;
             int height = myBitmap.Height;
 
             for (int x = 0; x < width; x++)
             {
                 for (int y = 0; y < height; y++)
                 {                    
                     Color pixelColor = myBitmap.GetPixel(x, y);
                     Console.Write (pixelColor.R+"  ");
                 }
                 Console.WriteLine ();
 
             }
 
 
             Console.ReadKey();
         } 

همانطور که در کد بالا می‌بینید یک فایل را با استفاده از Bitmap خوانده (آدرس فایل خود را بجای My image.jpg قرار دهید) و سپس با بدست آوردن طول و عرض تصویر (Width و height)، تک تک پیکسل‌های تصویر را دریافت و رنگ آنها را میخوانیم. در آخر رنگ قرمز آنها ( همانطور که می‌دانید هر تصویر شامل سه رنگ قرمز، سبز و آبی است) را چاپ کردیم. تصویر ورودی ما شکل زیر می‌باشد:

خروجی برنامه به شکل زیر می‌باشد:

255  255  255  255  255  255  242  253  255  254  254  255  254  255  255  255

254  255  254  255  255  246  247  254  254  255  255  255  253  255  255  254

255  255  254  255  253  241  239  241  242  240  242  241  241  239  245  255

255  255  255  254  242  249  255  255  255  255  255  255  255  254  243  254

254  255  253  249  245  255  255  251  254  254  254  254  255  254  242  255

253  255  251  242  254  253  255  255  255  255  254  255  255  255  242  254

255  253  243  253  254  255  255  255  248  243  243  242  243  239  245  255

255  246  246  254  254  255  255  255  249  248  255  255  252  255  241  255

254  247  249  255  254  255  255  252  247  248  255  254  252  255  241  255

255  254  240  254  254  255  255  255  249  243  242  242  243  241  244  255

255  253  247  241  254  254  255  255  255  255  254  255  255  255  243  253

252  246  245  242  248  254  253  253  255  254  254  254  255  254  242  255

254  248  250  253  246  251  255  253  255  255  255  254  255  254  243  254

254  248  241  241  242  238  241  241  241  240  242  240  240  239  245  255

252  255  255  255  254  245  248  255  254  255  255  255  254  255  255  254

255  255  255  254  255  255  240  253  255  254  254  255  254  255  255  255

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *