در این قسمت تیم کدگیت را با آموزش ساخت تصاویر در سی شارپ همراهی کنید. در این آموزش ابتدا کلاسها و کتاب خانه هایی که سی شارپ برای کار با تصاویر آماده کرده است را معرفی میکنیم و سپس به پیاده سازی مثالی از آنها میپردازیم. پیش نیاز این آموزش شامل موارد زیر است:
پردازش تصویر
پردازش تصاویر امروزه بیشتر به موضوع پردازش تصویر دیجیتال گفته میشود که شاخهای از دانش رایانه است که با پردازش سیگنال دیجیتال که نماینده تصاویر برداشته شده با دوربین دیجیتال یا پویش شده توسط پویشگر هستند سر و کار دارد.
پردازش تصاویر دارای دو شاخه عمده بهبود تصاویر و بینایی ماشین است. بهبود تصاویر دربرگیرنده روشهایی چون استفاده از فیلتر محوکننده و افزایش تضاد برای بهتر کردن کیفیت دیداری تصاویر و اطمینان از نمایش درست آنها در محیط مقصد (مانند چاپگر یا نمایشگر رایانه)است، در حالی که بینایی ماشین به روشهایی میپردازد که به کمک آنها میتوان معنی و محتوای تصاویر را درک کرد تا از آنها در کارهایی چون رباتیک و محور تصاویر استفاده شود.
ساخت تصاویر در سی شارپ
برای ساخت تصاویر ما از کلاس Bitmap استفاده میکنیم. این کلاس برای پردازش تصویر مناسب میباشد. کلاس Bitmap برای کار با تصاویر توسط پیکسل آنها استفاده میشود. کلاس Bitmap متدی به نام SetPixel دارد که رنگ یک پیکسل را تنظیم میکند. همچنین برای ذخیره فایل نیز از متد save استفاده میکنیم. کد این مثال به صورت زیر میباشد:
public static void Main (string[] args)
{
int width = 500, height = 500;
//bitmap
Bitmap bmp = new Bitmap(width, height);
//random number
Random rand = new Random();
//create random pixels
for (int y = 0; y < height; y++)
{
for (int x = 0; x < width; x++)
{
//generate random ARGB value
int a = rand.Next(256);
int r = rand.Next(256);
int g = rand.Next(256);
int b = rand.Next(256);
//set ARGB value
bmp.SetPixel(x, y, Color.FromArgb(a, r, g, b));
}
}
//save (write) random pixel image
bmp.Save("F:\\RandomImage.png");
Console.WriteLine ("Press any key to Finish Create Random Image....");
Console.ReadKey ();
}
ابتدا طول و عرض تصویر را به Bitmap دادیم سپس به صورت تصادفی (بین 0 تا 255) رنگ پیکسلها را تنظیم کردیم (متد setpixel). در آخر تصویر را ذخیره کردیم. خروجی کد بالا به صورت زیر میباشد:
