بهبود تصویر در پردازش تصویر | استوایی | Ostovaee

بهبود تصویر در پردازش تصویر

تکنیک های بهبود تصویر تکنیک های ریاضی هستند که هدف آن‌ها بهبود کیفیت یک تصویر است. نتیجه‌ی آن یک عکس بهبود یافته است که ویژگی های خاصی را به روشی نشان می دهد که در مقایسه با عکس اصلی بهتر است. همچنین ممکن است چندین نسخه پردازش شده از تصویر اصلی حاصل شود که هرکدام یکی از ویژگی های مورد نظر را با ظاهری دقیق تر ارائه می دهند.

افزایش کیفیت عکس یکی از ساده‌ترین و جذابترین زمینه‌های پردازش تصویر دیجیتال است. در اصل هدف از انجام این مرحله، واضح کردن جزئیاتی از تصویر است که مبهم هستند، یا برجسته کردن بخش های خاصی از تصویر که مورد نظر ما هستند. از جمله موارد مربوط به تقویت تصویر عبارتند از تغییر روشنایی (Brightness) و تضاد رنگ (Contrast).

بهبود تصویر در پردازش تصویر | استوایی | Ostovaee

در تصویر بالا با استفاده از فیلتر تضاد یا Contrast، کیفیت افزایش داده شده و همچنین در تصویر زیر با اعمال فیلتر Brightness یک تصویر جذاب تر با وضوح بالاتر حاصل شده است.

image enhancement | استوایی | Ostovaee

روش‌های بهبود تصویر در پردازش تصویر

فرایند بهبود کیفیت تصویر دیجیتال است باعث می شود که تصاویر مناسب تری برای نمایش یا پردازش تصویر حاصل شود. به عنوان مثال، می‌توان نویز را حذف کرد، لبه های موجود در عکس را تیز کرد و یا عکس را روشن تر یا تاریک تر کرد. با استفاده از این فرایندها، شناسایی ویژگی های کلیدی عکس آسان تر می شود. در ادامه به چند روش برای افزایش کیفیت تصاویر اشاره می کنیم.

تنظیم روشنایی عکس یا Brightness در پردازش تصویر

در زبان برنامه نوسیس سی شارپ می توان روشنایی یا brightness تصاویر می توان از کتابخانه Accord استفاده کرد. در ابتدا باید یک فیلتر از نوع BrightnessCorrection ایجاد کرد. برای ساخت این فیلتر باید مقداری عددی جهت تعیین میزان روشنایی به این کلاس داد. در مثال زیر، فیلتر ایجاد شده، روشنایی تصویر را 50 واحد کمتر می‌کند.

// create filter
BrightnessCorrection filter = new BrightnessCorrection( -50 );
// apply the filter
filter.ApplyInPlace( image );

برای تنظیم روشنایی در Emgu می توان از ضرب کردن یک مقدار در تک تک پیکسل‌های یک تصویر، به نتیجه دلخواه رسید. در کد زیر تمام پیکسل‌ها در مقدار 2 ضرب شده اند و نتیجه تصویری روشن تر خواهد بود.

Image<Gray, byte> image = new Image<Gray, byte>("file.jpg");
Image<Gray, byte> result = image.Mul(2).Bitmap;

Histogram Equalization

همسان سازی هیستوگرام یا Histogram Equalization یک روش پردازش تصویر کامپیوتری است که برای بهبود کنتراست در تصاویر استفاده می شود. اثر این عملیات در تصویر زیر به وضوح مشخص است.

بهبود تصویر در پردازش تصویر | استوایی | Ostovaee

بهبود تصاویر در C#.net

اگر با زبان برنامه نویسی C#.net کار می کنید برای تنظیم خودکار کنتراست تصویر که منجر به بهبود کیفیت تصویر می شود، می توانید از کتابخانه Accord استفاده کنید. برای اینکار در ابتدا باید یک فیلتر از جنس HistogramEqualization ایجاد کنید و در مرحله بعد فیلتر را به عکس اعمال کنید.

// create filter
HistogramEqualization filter = new HistogramEqualization( );
// process image
filter.ApplyInPlace( sourceImage );

همچنین می توانید از کتابخانه Emgu که یک wrapper از OpernCV هست استفاده کنید. fبرای اینکار می‌توانید از CvInvoke.EqualizeHist استفاده کنید که دو مقدار می گیرد. مقدار اول تصویر ورودی و مقدار دوم نتیجه نهایی است.

Image<Gray, byte> input= new Image<Gray, byte>("file.jpg");
Mat output;
CvInvoke.EqualizeHist(input, output) 

حذف Blur شدگی تصاویر

با کمک پردازش تصویر می‌توان blur شدگی‌ها را در عکس ها حذف کرد. همانطور که در تصویر زیر مشاهده می‌کنید با استفاده از فیلتر Wiener محو شدگی در تصویر سمت چپ حذف شده و نتیجه آن عکس سمت راست می باشد.

بهبود کیفیت تصویر | استوایی | ostovaee
برچسب‌ها

پاسخی بگذارید

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