الگوریتم های اساسی برای پردازش تصویر الگوریتم های پیش پردازش تصویر پیش پردازش تصویر

نویز دیجیتال یک نقص تصویر است که به طور تصادفی مناطقی نزدیک به اندازه پیکسل هستند و از نظر روشنایی یا رنگ با تصویر اصلی متفاوت هستند. کاهش نویز نقش مهمی در انتقال، پردازش و فشرده سازی توالی ها و تصاویر ویدئویی دارد.

نویز ویدیو ممکن است به دلایل مختلفی ایجاد شود:

1. تجهیزات فیلمبرداری ناقص.

2. شرایط بد عکسبرداری - به عنوان مثال، عکس / فیلمبرداری در شب، عکسبرداری در آب و هوای نامساعد.

3. تداخل در هنگام انتقال از طریق کانال های آنالوگ - تداخل از منابع میدان های الکترومغناطیسی، نویز ذاتی اجزای فعال (تقویت کننده) خط انتقال. یک مثال می تواند یک سیگنال تلویزیونی باشد.

4. عدم دقت در فیلتر هنگام استخراج سیگنال های روشنایی و تفاوت رنگ از سیگنال کامپوزیت آنالوگ و غیره.

میزان نویز در یک تصویر می تواند از یک لکه تقریبا نامرئی در یک عکس دیجیتالی گرفته شده در نور خوب تا تصاویر نجومی متغیر باشد، که در آن نویز بسیاری از اطلاعات مفیدی را که فقط از طریق پردازش پر زحمت تصویر به دست می آید، پنهان می کند.

بسته به ماهیت توزیع تصادفی نویز در تصویر، انواع مختلفی از نویز وجود دارد. در عمل، انواع زیر رایج ترین هستند:

نویز گاوسی سفید

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

نویز دیجیتال

دلیل وقوع نویز دیجیتال اغلب با ویژگی های تجهیزات مورد استفاده برای عکسبرداری مرتبط است - معمولاً با حساسیت ناکافی ماتریس به نور. این نوع نویز با جایگزینی برخی از پیکسل های تصویر با مقادیر ثابت یا تصادفی مشخص می شود. اگر روشنایی نقاط تقریباً برابر باشد، نویز دیجیتال را "تکانه" نیز می‌گویند. اگر شدت نقاط می تواند از سیاه تا سفید متفاوت باشد، به این صدا نویز نمک و فلفل می گویند.

به طور معمول، این نوع نویز تنها بر تعداد کمی از پیکسل های یک تصویر تأثیر می گذارد.

نویز ترکیبی

مواردی که تصویر در حجم مساوی با نویز گاوسی و پالس های تصادفی نویز دارد بسیار کمتر رایج است. به این مجموعه نویز ترکیبی می گویند.

عیوب اسکن

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

الگوریتم های حذف نویز

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

بیایید چندین مورد از شناخته شده ترین الگوریتم های سرکوب نویز تصویر را در نظر بگیریم.

میانگین گیری پیکسل خطی

ساده ترین ایده برای حذف نویز، میانگین کردن مقادیر پیکسل در یک همسایگی فضایی است. از آنجایی که نویز به طور مستقل از پیکسلی به پیکسل دیگر تغییر می کند، نویز پیکسل های مجاور همدیگر را خنثی می کند. یک پنجره مستطیل شکل مشخص شده است که به نوبه خود بر روی هر پیکسل تصویر قرار می گیرد. مقدار پیکسل مرکزی بر اساس تجزیه و تحلیل تمام پیکسل های مجاور که در ناحیه پنجره قرار می گیرند محاسبه می شود. بر این اساس، هرچه پنجره بزرگتر گرفته شود، مقدار میانگین بیشتری در پایان به دست می آید که منجر به یک اثر تاری قوی می شود.

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

این روش را می‌توان در حوزه زمانی نیز اعمال کرد و میانگین هر پیکسل را روی فریم‌های مجاور جریان ویدیویی قرار داد (هر پیکسل بر روی پیکسل‌هایی که در همان موقعیت در فریم‌های مجاور قرار دارند، میانگین می‌شود).

این الگوریتم بسیار ساده است، اما نتیجه خوبی نمی دهد، در عین حال منجر به تاری شدید جزئیات تصویر می شود.

فیلتر گاوسی

این اصل عملکردی مشابه روش قبلی دارد و همچنین به تعداد فیلترهای صاف کننده تعلق دارد. با این حال، کاهش نویز با استفاده از یک فیلتر میانگین خطی یک اشکال قابل توجه دارد: همه همسایگان پیکسل پردازش شده، صرف نظر از فاصله آنها با آن، تأثیر یکسانی بر نتیجه دارند. فیلتر گاوسی نیز میانگین پیکسل مرکزی و همسایگان آن را در یک منطقه مشخص می کند، فقط این اتفاق طبق قانون خاصی می افتد که توسط تابع گاوسی تنظیم شده است.

جایی که پارامتر y مقدار تاری را تعیین می کند و پارامتر A نرمال سازی را ارائه می دهد. در نتیجه، پیکسل مرکزی ناحیه در نظر گرفته شده بالاترین مقدار مربوط به اوج توزیع گاوسی را خواهد داشت. با افزایش فاصله از مرکز، مقادیر عناصر باقی مانده تأثیر کمتر و کمتری خواهند داشت.

فیلتر ماتریسی که طبق فرمول مشخص شده محاسبه می شود گاوسی نامیده می شود. هرچه اندازه آن بزرگتر باشد، تاری قوی تر است (با y ثابت). از آنجایی که این فیلتر قابل تفکیک است، می توان آن را به صورت زیر نشان داد:

از این رو نتیجه می شود که پیچیدگی را می توان به صورت متوالی توسط ردیف ها و ستون ها انجام داد، که منجر به شتاب قابل توجهی در روش برای اندازه های فیلتر بزرگ می شود.

الگوریتم 2Dcleaner

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

فیلتر میانه

الگوریتم‌های خطی در سرکوب نویز گاوسی بسیار مؤثر هستند، زمانی که پیکسل‌های همسایه، اگرچه دارای توزیع تصادفی مشخصی از مقادیر هستند، اما همچنان در محدوده مشخصه مقدار متوسط ​​مشخص منطقه‌ای که به آن تعلق دارند، باقی می‌مانند. با این حال، گاهی اوقات شما باید با تصاویری که توسط انواع دیگر تداخل تحریف شده اند مقابله کنید. نمونه ای از چنین تداخلی نویز ضربه ای است که در حضور نقاط پراکنده تصادفی روشنایی تصادفی در تصویر ظاهر می شود. میانگین گرفتن در این مورد، هر نقطه از این قبیل را به پیکسل های مجاور "لکه" می کند، که منجر به بدتر شدن کیفیت تصویر می شود.

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

اصل فیلتر: یک پنجره مشخص با اندازه عجیب تنظیم شده است که به صورت متوالی بر روی هر پیکسل تصویر قرار می گیرد. در بین تمام پیکسل های داخل ناحیه در نظر گرفته شده، از جمله پیکسل مرکزی، مقدار میانه جستجو می شود که در نهایت به پیکسل مرکزی منطقه اختصاص می یابد. در این مورد، میانه به معنای عنصر میانه از آرایه مقادیر پیکسل مرتب شده متعلق به منطقه است. اندازه پنجره عجیب دقیقاً برای اطمینان از وجود پیکسل میانه انتخاب می شود.

امکان استفاده از فیلتر میانی برای سرکوب نویز سفید گوسی در تصویر وجود دارد. با این حال، مطالعه سرکوب نویز با استفاده از فیلتر میانه نشان می دهد که اثربخشی آن در حل این مشکل کمتر از فیلتر خطی است.

فیلتر میانه بدون عیب نیست که در اکثر فیلترهای حذف نویز وجود دارد - افزایش اندازه ماسک برای بهبود درجه سرکوب نویز منجر به کاهش وضوح تصویر و تار شدن خطوط آن می شود. با این حال، می توان با اعمال فیلتر میانی با اندازه ماسک پویا (فیلتر میانه افزودنی) اثرات منفی را به حداقل رساند. اصل آن ثابت می ماند، فقط اندازه پنجره فیلتر کشویی بسته به روشنایی پیکسل های همسایه می تواند تغییر کند.

تیز کردن یک تصویر

تقریباً همه الگوریتم‌های سرکوب نویز در تصویر منجر به تار شدن آن می‌شوند، در نتیجه جزئیات کوچک از بین رفته و درک تصویر دشوار می‌شود. فیلتر وضوح تصویر می تواند تا حدی این اثر منفی را جبران کند و کنتراست از دست رفته کانتور و تغییر رنگ را بازیابی کند. وضوح می تواند به بسیاری از عوامل دیگر نیز بستگی داشته باشد - به کیفیت لنز، به دیافراگم استفاده شده، به ضخامت فیلتر ضد مویر موجود در ماتریس اکثر دوربین های دیجیتال، که تصویر را به درجات مختلف تار می کند. همچنین، وضوح تصاویر اغلب پس از کاهش اندازه نیاز به افزایش است، زیرا این امر به ناچار بخشی از اطلاعات و به همراه آن وضوح خطوط را از دست می دهد.

ماسک کردن غیرشارپ تکنیکی است که با افزایش کنتراست انتقال بین تن های یک تصویر، به دلیل توهم شارپ شدن، ادراک بصری آن را بهبود می بخشد. در واقع، وضوح در همان سطح باقی می ماند، زیرا، در اصل، بازیابی جزئیات از دست رفته تصویر غیرممکن است، اما بهبود کنتراست بین مناطق با روشنایی های مختلف منجر به این واقعیت می شود که تصویر واضح تر درک می شود.

شکل 5.1 - تصویر مفهوم "تیزبینی کانتور"

وضوح تصویر به بزرگی تفاوت روشنایی بین نواحی (W) که خطوط آن را تشکیل می دهند و به وضوح تغییر در این تفاوت (H) بستگی دارد.

تکنیک unsharp masking برای اولین بار برای پردازش عکس های فیلم استفاده شد. روش اقتباس شده برای پردازش تصویر دیجیتال کمی با روش اصلی متفاوت است: به اصطلاح "ماسک غیر واضح" از تصویر کم می شود - کپی تار و معکوس آن. نتیجه یک تصویر جدید است که فقط شامل خطوط روشن تصویر اصلی است. خطوط تیره را می توان به سادگی با معکوس کردن نتیجه بدست آورد.

اگر در آینده خطوط تیره را از تصویر اصلی کم کنید و موارد روشن را اضافه کنید، در هر اختلاف روشنایی کنتراست قابل توجهی افزایش می یابد.

شما می توانید از هر یک از فیلترهای حذف کننده نویز، به عنوان مثال، فیلتر گاوسی، برای محو کردن نسخه اصلی استفاده کنید تا یک "ماسک غیر واضح" به دست آورید.

شکل 5.2 - نتیجه اعمال پوشش غیر شارپ

عملیات پیچیدگی اغلب در پردازش تصویر استفاده می شود. علاوه بر تیز کردن، برای محو کردن، افزایش روشنایی، روشن کردن و غیره استفاده می شود.

پیچیدگی تصویر عملیات محاسبه یک مقدار جدید از یک پیکسل معین است که مقادیر پیکسل های مجاور اطراف را در نظر می گیرد. در یک مفهوم کلی، این اصطلاح به معنای عملی است که در هر قسمت از تصویر انجام می شود.

عنصر اصلی پیچیدگی ماسک پیچیدگی است - این یک ماتریس است (با اندازه دلخواه و نسبت ابعاد). این ماسک اغلب به عنوان فیلتر، هسته، الگو یا پنجره شناخته می شود. مقادیر عناصر ماتریس معمولاً ضریب نامیده می شوند.

اغلب، یک ماتریس مربع به عنوان یک هسته کانولوشن استفاده می شود.

پردازش تصویر توسط عملیات کانولوشن به شرح زیر است: عنصر مرکزی ماتریس که "لنگر" نامیده می شود، به طور متوالی بر روی هر پیکسل تصویر قرار می گیرد. مقدار جدید پیکسل در نظر گرفته شده به عنوان مجموع مقادیر پیکسل های همسایه، ضرب در ضرایب مربوطه ماسک کانولوشن محاسبه می شود.

اثر حاصل به هسته کانولوشن انتخاب شده بستگی دارد.

هسته فیلتر تقویت‌کننده کنتراست دارای مقداری بیشتر از 1 در نقطه (0، 0) است که مجموع کل مقادیر برابر با 1 است. به عنوان مثال، فیلتر تقویت‌کننده کنتراست فیلترهایی با هسته‌های مشخص شده با ماتریس ها:

تأثیر افزایش کنتراست با این واقعیت حاصل می شود که فیلتر بر تفاوت بین شدت پیکسل های همسایه تأکید می کند و این شدت ها را از یکدیگر حذف می کند. این اثر هر چه قوی تر باشد، مقدار ترم مرکزی هسته بزرگتر خواهد بود.

فیلتر کنتراست خطی مبتنی بر پیچیدگی می تواند منجر به هاله های رنگی قابل مشاهده در اطراف لبه های تصویر شود.

جبران تفاوت روشنایی

مشکلات نورپردازی تصویر اغلب زمانی اتفاق می‌افتد که پنجره‌ها، خورشید یا دیگر منابع نوری غیرقابل تنظیم وارد قاب می‌شوند.

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

وضعیت کمبود نور نیز رایج است. این می تواند ناشی از عکسبرداری در اتاق های تاریک با نور ضعیف و همچنین محدوده محدود حساسیت تجهیزات ویدئویی باشد.

الگوریتم رتینکس با مقیاس تک

وقتی می‌خواهید با افزایش روشنایی هر پیکسل با مقداری ثابت، تصویر را روشن کنید، ممکن است نواحی روشن اولیه کاملاً منفجر شده به نظر برسند.

در چنین مواردی، لازم است تصحیح رنگ "هوشمند" را اعمال کنید، که می تواند نور را در تصویر یکسان کند و مناطق روشن را به میزان کمتری نسبت به موارد تاریک پردازش کند.

این الزامات توسط الگوریتم Single Scale Retinex که بر اساس اصول طراحی گیرنده شبکیه است، برآورده می شود. هدف اصلی الگوریتم تقسیم تصویر به اجزایی است که به طور جداگانه مسئولیت نور و جزئیات را بر عهده دارند. از آنجایی که مشکلات موجود در تصویر مربوط به نورپردازی صحنه است، پس با دریافت مؤلفه مسئول نورپردازی، می توان آن را به طور جداگانه از تصویر تبدیل کرد و در نتیجه کیفیت آن را به میزان قابل توجهی افزایش داد.

هر تصویر را می توان به عنوان محصول یک سیگنال فرکانس بالا (بازتاب - R) و یک سیگنال فرکانس پایین (روشنایی - I) نشان داد.

S (x، y) = I (x، y) * R (x، y) (5.6)


شکل 5.3 - نمایش تصویر در الگوریتم رتینکس.

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

جایی که G - فیلتر گاوسی

از آنجایی که لگاریتم سیگنال فرکانس را تغییر نمی دهد و به دلیل ویژگی های تابع لگاریتمی (لگاریتم حاصل برابر مجموع لگاریتم های ضرایب است)، مشکل تقسیم حاصل ضرب سیگنال ها را می توان مطرح کرد. برای مسئله تقسیم مجموع سیگنال ها ساده شده است.

پس از آن، فقط باید یک توان از سیگنال دریافتی گرفته شود تا آن را به مقیاس دامنه اصلی برگردانیم. جزء فرکانس بالا حاصل را می توان به تصویر اصلی تار و روشن اضافه کرد که به عنوان یک مدل نور جدید عمل می کند.

اثر به دست آمده از یکسان کردن روشنایی ممکن است خیلی قوی باشد (نقاط تاریک از نظر روشنایی مانند مناطق روشن می شوند). برای کاهش جلوه، می توانید به سادگی تصویر پردازش شده را به نسبت خاصی با تصویر اصلی ترکیب کنید.

تصحیح گاما

هدف اصلی تصحیح گاما جبران تفاوت در رنگ های نمایش داده شده در دستگاه های خروجی مختلف است به طوری که تصویر هنگام مشاهده در مانیتورهای مختلف یکسان به نظر برسد. با توجه به ظاهر غیر خطی تابع قدرت اعمال شده، تصحیح گاما همچنین به شما امکان می دهد کنتراست نواحی تاریک تصویر را بدون نوردهی بیش از حد جزئیات روشن و بدون از دست دادن قابلیت تمایز لبه های اشیاء در تصویر افزایش دهید.

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

جایی که I روشنایی پیکسل روی صفحه نمایش (یا روشنایی اجزای رنگ قرمز، سبز و آبی به طور جداگانه) است.

V مقدار عددی رنگ از 0 تا 1 است و

د - نشانگر تصحیح گاما.

اگر r کمتر از 1 باشد، مشخصه های انتقال سطوح محدب خواهد بود و تصویر حاصل از تصویر اصلی سبک تر خواهد بود. اگر r بزرگتر از 1 باشد، مشخصه انتقال سطح مقعر و تصویر حاصل تیره تر از تصویر اصلی خواهد بود.

به طور پیش فرض، پارامتر r برابر با 1 است که با ویژگی های خطی انتقال سطوح و عدم وجود اصلاح گاما مطابقت دارد.

انتخاب خطوط یک تصویر

تجزیه و تحلیل کانتور می تواند برای توصیف، تشخیص، مقایسه و جستجوی اشیاء گرافیکی که به صورت طرح کلی نمایش داده می شوند، استفاده شود. از آنجایی که استفاده از خطوط، نقاط داخلی شی را از در نظر گرفتن حذف می کند، این امر می تواند پیچیدگی محاسباتی و الگوریتمی این عملیات را به میزان قابل توجهی کاهش دهد.

شکل 5.4 - تغییر در شکل تابع توان بسته به پارامتر r

طرح کلی شی فهرستی از نقاط است که نشان دهنده یک منحنی خاص در تصویر است که شی را از پس زمینه جدا می کند. اغلب، یک جهش در روشنایی یا رنگ در امتداد کانتور مشاهده می شود.

برای ساده کردن جستجوی خطوط در تصویر، می توانید آن را از قبل باینری کنید.

فیلتر سوبل مرزهای اجسام را بر اساس روشنایی آنها انتخاب می کند. از آنجایی که جزء رنگ در نظر گرفته نشده است، ابتدا باید تصاویر را به مقیاس خاکستری تبدیل کرد.

فیلتر Sobel به صورت متوالی برای هر پیکسل اعمال می شود و مقدار تقریبی گرادیان روشنایی آن را محاسبه می کند. گرادیان برای هر نقطه از تصویر (تابع روشنایی) یک بردار دو بعدی است که اجزای آن مشتقات افقی و عمودی روشنایی تصویر هستند.

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

که نتیجه عملکرد عملگر Sobel در نقطه ای در ناحیه روشنایی ثابت یک بردار صفر خواهد بود و در نقطه ای که در مرز مناطق با روشنایی متفاوت قرار دارد - بردار عبور از مرز در جهت افزایش روشنایی.

برای محاسبه مقادیر تقریبی مشتقات در هر نقطه از تصویر، فیلتر Sobel از کانولوشن با ماتریس 3×3 استفاده می کند.

ضرایب ماتریس سوبل:

مقدار نهایی گرادیان با تقریب با استفاده از فرمول محاسبه می شود:

| G | = | Gx | + | Gy |

ردیاب مرزی کنی

اگرچه کار کنی در روزهای اولیه بینایی کامپیوتر (1986) انجام شد، آشکارساز مرزی کنی هنوز یکی از بهترین آشکارسازها است. روش کنی یک الگوریتم چند مرحله ای است و شامل مراحل زیر است:

1. پاکسازی تصویر از نویز و جزئیات غیر ضروری.

2. پاکسازی تصویر از نویز و جزئیات غیر ضروری.

3. برای مثال، شیب های تصویر را توسط عملگر Sobel جستجو کنید.

4. سرکوب غیر ماکزیمم. فقط ارتفاعات محلی به عنوان مرز مشخص می شوند.

5. فیلتر دو آستانه. مرزهای بالقوه توسط آستانه ها تعریف می شوند.

6. ردیابی مسیر (پیوند لبه ها به مسیرها)

از آنجایی که کوچکترین نویز در تصویر می تواند یکپارچگی خطوط آن را نقض کند، توصیه می شود قبل از شروع جستجو، تصویر را با هر روش کاهش نویز فیلتر کنید. به دلیل سرعت عمل بالا و سهولت اجرا، فیلتر گاوسی بیشتر مورد استفاده قرار می گیرد. لبه های یک تصویر می تواند در جهات مختلف باشد، بنابراین الگوریتم کنی از چهار فیلتر برای تشخیص لبه های افقی، عمودی و مورب استفاده می کند. با استفاده از عملگر تشخیص مرز (به عنوان مثال، عملگر Sobel)، مقدار اولین مشتق در جهت افقی (Gy) و جهت عمودی (Gx) به دست می آید. از این گرادیان می توانید زاویه جهت مرز را بدست آورید:

زاویه جهت حاشیه به یکی از چهار گوشه که نمایانگر عمودی، افقی و دو مورب است (مثلاً 0، 45، 90 و 135 درجه) گرد شده است. فقط آن پیکسل هایی که در آنها به حداکثر گرادیان محلی در جهت بردار گرادیان رسیده است به عنوان مرز اعلام می شوند. مقدار جهت باید مضربی از 45 درجه باشد. پس از سرکوب غیر ماکسیما، لبه ها دقیق تر و نازک تر می شوند.

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

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

تقسیم بندی

بیشتر تصاویر به دست آمده از تجهیزات عکاسی و فیلمبرداری شطرنجی هستند، یعنی از نقاط رنگی تشکیل شده است که در یک شبکه مستطیل قرار گرفته اند. با این حال، مردم جهان اطراف خود را به عنوان مجموعه ای از اشیاء کامل، و نه ماتریسی از نقاط، درک می کنند. مغز انسان قادر است جزئیات متفاوت یک تصویر را در مناطق همگن ترکیب کند و به طور ناخودآگاه آن را به وضوح به اشیاء تقسیم کند. این فرآیند قطعه‌بندی نامیده می‌شود و هنگام حل مشکل تجزیه و تحلیل تصویر کامپیوتری و تشخیص الگو می‌تواند به صورت برنامه‌نویسی اجرا شود. تقسیم بندی در مراحل اولیه تجزیه و تحلیل انجام می شود و کیفیت اجرای آن می تواند تأثیر زیادی بر سرعت و دقت آن داشته باشد.

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

در حالت اول، هیچ اطلاعات پیشینی در مورد ویژگی های مناطق استفاده نمی شود، اما شرایطی برای پارتیشن بندی خود تصویر اعمال می شود (مثلاً همه مناطق باید از نظر رنگ و بافت یکنواخت باشند). از آنجایی که این فرمول مسئله تقسیم بندی از اطلاعات پیشینی در مورد اشیاء تصویر شده استفاده نمی کند، روش های این گروه جهانی و برای هر تصویری قابل اجرا هستند.

برای ارزیابی تقریبی کیفیت یک روش در یک مسئله خاص، معمولاً چندین ویژگی ثبت می شود که یک تقسیم بندی خوب باید داشته باشد:

§ یکنواختی مناطق (یکنواختی رنگ یا بافت).

§ عدم تشابه مناطق همسایه.

§ صاف بودن مرز منطقه;

§ تعداد کمی از "سوراخ" کوچک در داخل مناطق.

تقسیم بندی آستانه

آستانه گذاری ساده ترین روش متمرکز بر پردازش تصویر است که نواحی همگن منفرد آن در روشنایی متوسط ​​متفاوت هستند. با این حال، اگر تصویر به طور غیریکنواخت روشن شود، ممکن است برخی از اشیاء از نظر شدت با پس‌زمینه منطبق شوند، که باعث می‌شود تقسیم بندی آستانه مؤثر نباشد.

ساده ترین و در عین حال اغلب مورد استفاده از تقسیم بندی آستانه، تقسیم بندی باینری است، زمانی که تنها دو نوع ناحیه همگن در تصویر متمایز می شوند.

در این حالت، تبدیل هر نقطه از تصویر منبع به خروجی طبق قانون انجام می شود:

که در آن x0 تنها پارامتر پردازشی به نام آستانه است. سطوح روشنایی خروجی y0 و y1 می تواند دلخواه باشد، آنها فقط عملکرد برچسب ها را انجام می دهند که با کمک آنها نقشه حاصل مشخص می شود - به ترتیب نقاط آن را به کلاس های K1 یا K2 اختصاص می دهند. اگر محصول به دست آمده برای درک بصری آماده شود، اغلب مقادیر آنها با سطوح سیاه و سفید مطابقت دارد. اگر بیش از دو کلاس وجود داشته باشد، در طول آستانه گذاری، باید خانواده ای از آستانه ها تنظیم شود که روشنایی کلاس های مختلف را از یکدیگر جدا کند.

تقسیم بندی آستانه برای انتخاب تعداد کمی از اشیاء غیر متقاطع در یک تصویر که ساختاری همگن دارند و به وضوح از پس زمینه متمایز می شوند خوب است. با افزایش درجه ناهمگونی تصویر و در نتیجه تعداد بخش ها و پیچیدگی آنها، این نوع تقسیم بندی بی اثر می شود.

تقسیم بندی بر اساس تقسیم نمودار

روش‌های نظریه گراف یکی از فعال‌ترین حوزه‌های در حال توسعه در تقسیم‌بندی تصویر هستند.

ایده کلی روش های این گروه به شرح زیر است. تصویر به صورت یک نمودار وزن دار با رئوس در نقاط تصویر ارائه می شود. وزن یک یال نمودار شباهت نقاط را به یک معنا منعکس می کند (فاصله بین نقاط بر اساس برخی معیارها). تقسیم تصویر با برش های نمودار مدل سازی می شود.

معمولاً در روش‌های تئوری گراف، تابعی «هزینه» برش معرفی می‌شود که نشان‌دهنده کیفیت بخش‌بندی به‌دست‌آمده است. بنابراین مشکل تقسیم تصویر به مناطق همگن به مسئله بهینه سازی یافتن برش حداقل هزینه در نمودار کاهش می یابد. این رویکرد علاوه بر یکنواختی رنگ و بافت قطعات، امکان کنترل شکل قطعات، اندازه آنها، پیچیدگی مرزها و غیره را فراهم می کند.

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

درون یابی

در گرافیک کامپیوتری، روش درون یابی اغلب در فرآیند تغییر مقیاس تصاویر استفاده می شود. با تغییر تعداد پیکسل ها در یک تصویر، درون یابی کمک می کند تا از پیکسل شدن بیش از حد عکس در هنگام بزرگ شدن یا از دست دادن جزئیات مهم در هنگام کاهش آن جلوگیری شود.

در طی فرآیند درونیابی، نقاط اضافی بین پیکسل های تصویر درج می شود که تن و رنگ تخمین زده شده با استفاده از یک الگوریتم ویژه بر اساس تجزیه و تحلیل داده های موجود در مناطق مجاور محاسبه می شود. متأسفانه، از آنجایی که هر درونیابی فقط یک تقریب است، هر زمان که تصویر درون یابی شود، همیشه کیفیت خود را از دست می دهد.

نزدیکترین همسایه درون یابی

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

درون یابی دو خطی

این نوع درونیابی برای هر مختصات شبکه دو بعدی انجام می شود. در این حالت، تصویر به عنوان یک سطح در نظر گرفته می شود، رنگ بعد سوم است. اگر تصویر رنگی است، درون یابی به طور جداگانه برای سه رنگ انجام می شود. برای هر نقطه ناشناخته در تصویر جدید، درون یابی دوخطی مربعی از چهار پیکسل شناخته شده اطراف را در نظر می گیرد. میانگین وزنی این چهار پیکسل به عنوان مقدار درون یابی استفاده می شود. در نتیجه، تصاویر به طور قابل توجهی صاف تر از نتیجه روش نزدیکترین همسایه به نظر می رسند.

درون یابی دو خطی در فاکتورهای مقیاس بزرگ اعداد صحیح به خوبی کار می کند، اما لبه های تیز تصویر را تا حد زیادی محو می کند.

درون یابی دو مکعبی یک گام فراتر از درون یابی دو خطی است، با در نظر گرفتن آرایه ای از پیکسل های اطراف 4x4 - فقط 16. از آنجایی که آنها در فواصل متفاوت از پیکسل ناشناخته قرار دارند، نزدیکترین پیکسل ها در محاسبه وزن بیشتری دارند. درون یابی دو مکعبی تصاویر واضح تری نسبت به دو روش قبلی تولید می کند و مسلماً از نظر زمان پردازش و کیفیت خروجی بهینه است. به همین دلیل، برای بسیاری از برنامه های ویرایش تصویر (از جمله Adobe Photoshop)، درایورهای چاپگر، و درون یابی دوربین داخلی استاندارد شده است.

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

یکی از بهترین راه‌ها برای مقابله با این موضوع این است که بلافاصله پس از پوسته‌گیری از ماسک بدون تیز استفاده کنید، حتی اگر ماسک اصلی قبلاً تیز شده باشد.

5.2 منطق انتخاب الگوریتم های مورد استفاده در زیرسیستم

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

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

در نتیجه، الگوریتم‌های زیر برای پیاده‌سازی فیلترهایی برای پردازش یک جریان ویدیویی در یک خوشه محاسباتی انتخاب شدند:

1. برای حذف نویز سفید افزودنی، الگوریتم گاوسی انتخاب شد. به عنوان متداول ترین روش کاهش نویز، بسیار بهینه شده است و بر این اساس سرعت عملیاتی بالایی دارد.

2. برای حذف نویز سفید افزودنی، الگوریتم گاوسی انتخاب شد. به عنوان رایج ترین روش کاهش نویز، به خوبی بهینه شده است و در نتیجه سرعت عملیاتی بالایی دارد.

3. برای حذف نویز "تکانشی"، فیلتر میانی انتخاب شد. این روش همچنین به خوبی بهینه شده است و به طور خاص برای حذف صدای ضربه و نمک و فلفل طراحی شده است.

4. Convolution برای افزایش وضوح تصویر انتخاب شده است، زیرا بسیار سریعتر از پوشش غیر واضح عمل می کند و در عین حال نتایج قابل قبولی را ارائه می دهد.

5. کتابخانه OpenCV حاوی الگوریتم های تصحیح رنگ نیست - بنابراین تصمیم گرفته شد که گسترده ترین و مستندترین الگوریتم Retinex در مقیاس تک را پیاده سازی کنیم. این روش بسیار کارآمد است، اما برای افزایش سرعت کار نیاز به بهینه سازی دارد.

6. الگوریتم کنی به عنوان روشی برای استخراج خطوط انتخاب شد، زیرا نتایج بهتری نسبت به فیلتر Sobel می دهد.

7. الگوریتم تقسیم بندی هرمی ارائه شده در کتابخانه OpenCV بسیار کند کار می کند، بنابراین تصمیم گرفته شد که از الگوریتم تقسیم بندی که قبلاً بحث شد بر روی نمودارها استفاده شود.

8. درون یابی - روش درون یابی دو مکعبی به عنوان معقول ترین سازش بین سرعت کار و کیفیت نتیجه انتخاب شد.

نصب و پیکربندی نرم افزار مورد استفاده.

خوشه محاسباتی مورد استفاده گنو لینوکس (اوبونتو) را اجرا می کرد.

پس از نصب سیستم عامل، باید چندین کتابخانه نصب کنید که از خواندن و نوشتن فایل های تصویری، طراحی روی صفحه، کار با ویدئو و غیره پشتیبانی می کنند.

در حال نصب CMake

پروژه با استفاده از CMake ساخته شده است (نسخه 2.6 یا بالاتر مورد نیاز است). با دستور زیر می توانید آن را نصب کنید:

apt-get نصب cmake

همچنین ممکن است به کتابخانه های زیر نیاز داشته باشید:

build-essential libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev libeigen2-dev libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev

نصب ffmpeg

برای اینکه opencv فایل های ویدیویی را به درستی پردازش کند، باید کتابخانه ffmpeg نصب شود. این کار با دستورات زیر انجام می شود:

1) دانلود سورس کدهای کتابخانه

wget http://ffmpeg.org/releases/ffmpeg-0.7-rc1.tar.gz

2) باز کردن آرشیو با کدهای منبع

tar -xvzf ffmpeg-0.7-rc1.tar.gz

3) پیکربندی کتابخانه

پیکربندی --enable-gpl --enable-version3 --enable-nonfree --enable-postproc

Enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb

Enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab

Enable-swscale --enable-shared

4) ساخت و نصب کتابخانه

نصب GTK

برای نمایش پنجره‌های OpenCV نیاز به نصب کتابخانه GTK + 2.x یا بالاتر، از جمله فایل‌های هدر (libgtk2.0-dev) است.

apt-get libgtk2.0-dev را نصب کنید

نصب Opencv

پس از نصب تمام کتابخانه های مرتبط، نصب opencv2.2 با دستورات زیر انجام می شود:

1) دانلود سورس کدهای کتابخانه OpenCV

http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.2/OpenCV-2.2.0.tar.bz2

2) باز کردن آرشیو با کدهای منبع

tar -xvf OpenCV-2.2.0.tar.bz2

3) تولید Makefile با استفاده از CMake.

4) ساخت و نصب کتابخانه OpenCV

5) ممکن است لازم باشد مسیر کتابخانه ها را نیز ثبت کنید

صادرات LD_LIBRARY_PATH = / usr / local / lib: $ LD_LIBRARY_PATH

نصب و تدوین بسته نرم افزاری توسعه یافته

لازم است کدهای منبع برنامه ها را از دیسک ضمیمه این یادداشت توضیحی کپی کنید. فایل دسته ای build_all.sh را در همان پوشه کپی کنید و سپس آن را اجرا کنید. اگر کامپایلر gcc روی سیستم نصب شده باشد، ساخت به طور خودکار انجام می شود.

دیجیتال رفتار سیگنال ها

مبحث 17. پردازش تصویر

هیچ چیز وجود ندارد، مهم نیست که تخیل یک شخص چه جرات کند.

تیتوس لوکرتیوس. فیلسوف و شاعر رومی. قرن 1 قبل از میلاد مسیح NS.

تخیل چیز خوبی است. اما بیرون آوردن آن از زیرزمین، شستن آن، تبدیل آن به آپولو، بسته بندی آن در جعبه کبریت و ارسال آن به یک دوست، یک برنامه گرافیکی خوب بهتر عمل می کند.

آناتولی پیشمینتسف، ژئوفیزیک نووسیبیرسک از مکتب اورال. قرن XX.

معرفی.

1. مفاهیم اساسی. نمایش گرافیکی تصاویر بازنمایی رنگ در گرافیک کامپیوتری مدل رنگ RGB. سیستم رنگ CIE XYZ.

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

3. فیلتر کردن تصاویر. فیلترهای خطی فیلترهای صاف کننده فیلترهای افزایش کنتراست فیلترهای تفاوت پیچیدگی چرخه ای دو بعدی. فیلترهای غیر خطی فیلتر آستانه فیلتر میانه فیلترهای افراطی

4. فشرده سازی تصاویر. الگوریتم های کدگذاری Repetition Length (RLE). الگوریتم های دیکشنری الگوریتم های کدگذاری آماری فشرده سازی تصویر از دست رفته تخمین از دست دادن تصویر تبدیل فوریه. تبدیل موجک.

معرفی

دامنه تحقیقات در تصویربرداری دیجیتال به سرعت در حال رشد است. این به این دلیل است که پردازش تصویر یک پردازش سیگنال چند بعدی است و بیشتر سیگنال ها در دنیای واقعی چند بعدی هستند.


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

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

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

17.1. مفاهیم اساسی

نمایش گرافیکی تصاویر برای نمایش اطلاعات گرافیکی در یک صفحه دو بعدی (صفحه نمایش)، از دو رویکرد شطرنجی و برداری استفاده می شود.

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

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

یک عنصر شطرنجی پیکسل نامیده می شود. شناسایی استاندارد پیکسل:


f (i، j) = (A (i، j)، C (i، j))، (17.1.1)

جایی که A (i، j) Ì R2 - ناحیه پیکسل، C (i، j) Î C - ویژگی پیکسل (معمولا رنگ). دو نوع ویژگی بیشتر مورد استفاده قرار می گیرد:

C (i، j) = I (i، j) - شدت پیکسل (روشنایی)؛

C (i، j) = (R (i، j)، G (i، j)، B (i، j)) - ویژگی های رنگ در مدل رنگ RGB.

به صورت ماتریسی:

میج = (آیج، سیج).

هنگام گسسته سازی تصاویر پیوسته، مقادیر Aij را می توان به دو صورت تعریف کرد، یا به عنوان مقادیر نقاط Aij = (i, j) که ویژگی های Cij برای آنها تعریف شده است یا به عنوان مقادیر مربع Aij = (i، i + 1) × (j، j + 1) یا هر شکل دیگری، با تعیین Cij با مقادیر میانگین در این فرم (شکل 17.1.1).

در عمل، به عنوان یک قاعده، X و Y مجموعه های محدودی از اعداد صحیح غیر منفی یک شطرنجی مربع یا مستطیل با نسبت ابعاد (نسبت ابعاد) عرض به ارتفاع شطرنجی هستند که به شکلی نوشته می شود، برای مثال، "4: 3".

بازنمایی رنگ در گرافیک کامپیوتری مفهوم رنگ بر اساس درک چشم انسان از امواج الکترومغناطیسی در یک محدوده فرکانسی مشخص است. نور روز که ما درک می کنیم دارای طول موج λ از 400 نانومتر (بنفش) تا 700 نانومتر (قرمز) است. توصیف شار نورانی می تواند تابع طیفی آن I (λ) باشد. نور در صورتی تک رنگ نامیده می شود که طیف آن فقط یک طول موج خاص داشته باشد.

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

مدل رنگ RGB (قرمز، سبز، آبی - قرمز، سبز، آبی) در گرافیک کامپیوتری در حال حاضر رایج ترین است. در این مدل تابع طیفی به صورت مجموع منحنی‌های حساسیت برای هر نوع مخروط با ضرایب وزنی غیرمنفی (نرمال شده از 0 تا 1) نشان داده می‌شود که به صورت R، G و B نشان داده می‌شود. مدل مشخص می‌شود. با خاصیت افزودنی برای به دست آوردن رنگ های جدید. به عنوان مثال، رمزگذاری توابع طیفی:

سیاه: fblack = 0, (R, G, B) = (0,0,0);

بنفش بنفش = fred + fblue, (R, G, B) = (1,0,1);

سفید fwhite = fred + fgreen + fblue، (R, G, B) = (1,1,1).

فضای رنگی سه بعدی مدل RGB در شکل نشان داده شده است. 17.1.3. با توجه به ویژگی های ادراک نور توسط گیرنده ها، همه رنگ های قابل مشاهده برای انسان در این مدل قابل نمایش نیستند. با این حال، نسبت رنگ های تکرارپذیر بسیار بیشتر از نسبتی است که در این مدل نشان داده نشده است.

سیستم رنگ CIE XYZ. استاندارد بین المللی برای نمایش رنگ CIE (CIE - Commission Internationale de l "Eclairage) در سال 1931 توسط کمیسیون بین المللی روشنایی به تصویب رسید، این استاندارد سه تابع پایه ρX (λ)، ρY (λ)، ρZ (λ) را تعریف می کند. طول موج، ترکیبات خطی که با ضرایب غیر منفی (X، Y و Z) تمام رنگ‌های قابل مشاهده برای انسان را تولید می‌کنند. این توابع درک نسبی شدت نور توسط گیرنده‌های چشم را در نظر می‌گیرند. در فضای سه‌بعدی، سیستم رنگی CIE یک مخروط در ربع اول تشکیل می دهد و برای نمایش تصاویر رنگی با کیفیت بالا استفاده می شود.

17.2. تبدیل هندسی نقشه های بیتی

حوزه ها و مراحل تحول. تصاویر را می توان به بافت و جزئیات تقسیم کرد. در تصاویر بافت، تمام نمونه ها (عناصر) حامل اطلاعات (تصویر روی صفحه تلویزیون) هستند. تصویر با جزئیات تصویری است که در آن می توانید اشیاء مزاحم، پس زمینه و اشیاء مفید را برجسته کنید.

سه گروه اصلی از الگوریتم‌ها برای پردازش تصویر در رایانه‌ها وجود دارد:

1. پردازش تصویر اولیه (مقدماتی) به منظور بازیابی، پاکسازی از نویز تصادفی، بهبود کیفیت، اصلاح اعوجاج هندسی سیستم های نوری (عدم فوکوس، انحرافات و غیره).

2. شرح تصاویر، تشخیص الگو. برای تعیین پارامترهای جزئیات تصویر انجام می شود و شامل: یافتن مناطقی از یک تصویر که از نظر روشنایی و رنگ یکنواخت هستند، برجسته کردن ویژگی های شکل تصویر، تعیین مختصات نقاط خاص اجسام و غیره است.

3. کدگذاری کارآمد برای کاهش حجم در انتقال و ذخیره سازی.

بسیاری از روش های پیش پردازش مبتنی بر استفاده از فیلترهای فضای خطی (LPI) هستند. الگوریتم های خطی با استفاده از آنالوگ های دو بعدی فیلترهای یک بعدی FIR و IIR انجام می شود. به عنوان مثال، می توان از آنها در هنگام اجرای فیلترها برای کاهش نویز در تصاویر استفاده کرد.

فیلترهای FIR با استفاده از روش کانولوشن پیاده سازی می شوند. مزیت فیلترهای دوبعدی FIR شفافیت، سادگی و پایداری مطلق است. فیلترهای IIR با استفاده از معادلات تفاوت و تبدیل z پیاده سازی می شوند. آنها سریعتر از فیلترهای FIR هستند، اما می توانند ناپایدار باشند. سنتز فیلترهای دو بعدی IIR با سنتز فیلترهای یک بعدی متفاوت است، زیرا برای عملکرد دو بعدی نمی توان قطب ها را به شکل واضح انتخاب کرد.

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

یکی از این روش ها فیلترینگ میانه است. استفاده از فیلترهای میانی برای سرکوب برخی از انواع نویز و تداخل دوره ای بدون تحریف همزمان سیگنال موثر است، به عنوان مثال، برای سرکوب انفجارهای نویز، از جمله افت خط. این روش همچنین می تواند برای حل مشکلات مربوط به تشخیص استفاده شود، به عنوان مثال، برای برجسته کردن خطوط نازک و اشیاء کوچک جدا شده.

الگوریتم‌های توصیف تصاویر و تشخیص الگو معمولاً ماهیت غیرخطی و اکتشافی دارند. ویژگی های اشیا معمولاً مساحت تصویر شی، محیط کانتور تصویر، نسبت مساحت به مربع محیط تصویر است. شکل جسم را می توان با شعاع دایره ای که در تصویر حک شده یا در اطراف تصویر جسم توصیف شده است، طول بردار حداقل و حداکثر شعاع از "مرکز جرم" تصویر مشخص کرد.

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

در ساده ترین حالت تصاویر سیاه و سفید، یک آرایه دو بعدی sa (x, y) داریم. برای تصاویر رنگی در مدل RGB، با در نظر گرفتن خاصیت افزودنی در هنگام افزودن رنگ‌ها، می‌توان هر لایه از R، G و B را نیز به عنوان یک آرایه دو بعدی در نظر گرفت و با جمع‌بندی بعدی نتایج، پردازش کرد.

از میان روش‌های تعمیم نمونه‌گیری تناوبی یک‌بعدی به یک حالت دو بعدی، ساده‌ترین روش نمونه‌برداری دوره‌ای در مختصات مستطیلی است:

s (n، m) = sa (nDx، mDy)،

که در آن Dx و Dy فواصل نمونه برداری افقی و عمودی یک سیگنال پیوسته دو بعدی sa (x, y) با مختصات x و y پیوسته هستند. در زیر مقادیر Dx و Dy، مانند حالت یک بعدی، برابر با 1 در نظر گرفته شده است.

نمونه برداری از یک سیگنال دو بعدی نیز منجر به دوره بندی طیف آن می شود و بالعکس. شرط هم ارزی اطلاعات مختصات و نمایش فرکانس یک سیگنال گسسته نیز با تعداد مساوی نقاط نمونه برداری در محدوده سیگنال اصلی حفظ می شود. برای نمونه برداری مستطیلی، تبدیل فوریه مستقیم و معکوس با عبارات زیر تعیین می شود:

S (k، l) = s (n، m) exp (-jn2pk / N-jm2pl / M)، (17.2.1)

S (k، l) = exp (-jn2pk / N) s (n، m) exp (-jm2pl / M)، (17.2.1")

s (n، m) = S (k، l) exp (-jn2pk / N-jm2pl / M). (17.2.2)

s (n، m) = exp (-jn2pk / N) S (k، l) exp (-jm2pl / M). (17.2.2 ")

برنج. 17.2.1. دوره ای شدن طیف

این عبارات نشان می‌دهند که یک DFT دو بعدی روی یک شطرنجی نمونه‌گیری داده مستطیلی را می‌توان با استفاده از DFT‌های متوالی یک‌بعدی محاسبه کرد. مجموع دوم عبارات (17.2.1 ") و (17.2.2") DFT های یک بعدی از بخش های توابع s (n, m) و S (k, l) به ترتیب در امتداد خطوط n و k هستند. و اولین DFTهای یک بعدی توابع محاسبه شده در مقاطع m و l هستند. به عبارت دیگر، ماتریس های اولیه مقادیر s (n، m) و S (k، l) ابتدا به ماتریس های میانی با DFT توسط ردیف ها (یا ستون ها) و ماتریس های میانی - به ماتریس های نهایی با DFT توسط ستون ها (یا، به ترتیب، توسط ردیف).

به منظور تکرار دوره ای طیف (شکل 17.2.1)، ناشی از نمونه برداری از سیگنال آنالوگ با فرکانس Fx = 1 / Dx و Fy = 1 / Dy، طیف را در محدوده فرکانس اصلی تغییر نمی دهد. (با توجه به طیف سیگنال آنالوگ اصلی)، لازم است و کافی است که حداکثر مولفه های فرکانس fmax در طیف سیگنال آنالوگ، چه در ردیف و چه در ستون، از فرکانس Nyquist (fmax. x) تجاوز نکند. £ fN = Fx / 2، fmax. y £ fM = Fy / 2). این بدان معناست که فرکانس نمونه برداری سیگنال باید حداقل دو برابر بیشینه مولفه فرکانس در طیف سیگنال باشد:

Fx ³ 2fmax. x، Fy ³ 2fmax. y، (17.2.3)

که تضمین می کند که توابع طیفی به مقادیر صفر در انتهای محدوده طیف اصلی می رسند.

سری درونیابی بازسازی یک سیگنال دو بعدی. اگر سیگنال پیوسته sa (x, y) یک سیگنال با طیف محدود باشد و دوره‌های نمونه‌برداری به اندازه کافی کوچک انتخاب شوند و طیف دوره‌های مجاور همپوشانی نداشته باشند:

Sa (Wx، Wy) = 0 برای | Wx | p / Dx، | Wy | p / Dx،

سپس، مانند حالت یک بعدی، سیگنال sa (x, y) را می توان از یک سیگنال گسسته با استفاده از یک آنالوگ دو بعدی سری Kotelnikov-Shannon بازسازی کرد:

sa (x، y) = Sn Sm s (n، m) . (17.2.4)

تحریف فرکانس تصاویر و حذف آنها. یک سیگنال طیف نامحدود نیز می تواند نمونه برداری شود، اما در این مورد، در دوره های مجاور هم نام مستعار وجود دارد، در حالی که فرکانس های بالا، بالاتر از فرکانس های Nyquist، مانند حالت یک بعدی، تحت فرکانس های پایین "ماسک" می شوند. دوره اصلی اثر "بازتاب" از مرزهای دوره به دلیل تداخل فرکانس های منعکس شده در مختصات مختلف، تصویر پیچیده تری را ارائه می دهد. اثر مشابهی که به نام aliasing نیز شناخته می‌شود، زمانی که تصاویر کمتر نمونه‌برداری می‌شوند نیز رخ می‌دهد. این تأثیر را می توان به ویژه در تغییرات متضاد شدید در روشنایی به وضوح مشاهده کرد.

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

z (x، y) = h (x "، y") ③③ s (x-x "، y-y"). (17.2.5)

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

در شکل 3 و زیر، جدول 17.2.1 نمونه هایی از رایج ترین فیلترهای ضد آلیاژینگ یک بعدی را نشان می دهد. آنها را می توان به شکل فیلترهای آنالوگ انجام داد و می توان از آنها برای مثال هنگام انتقال خطوط تلویزیونی تصاویر به شکل آنالوگ از طریق کانال های رادیویی استفاده کرد (آنتی آلیازینگ افقی). اصولاً می توان عملیات مشابهی را روی ستون ها انجام داد (دو-تصویر) و پس از جمع بندی تصویر، عملیات آنتی آلیاسینگ کامل انجام می شود، اما این روش بیشتر به حوزه تحقیقات علمی خاص تعلق دارد.

جدول 17.2.1.

توابع وزن پایه

پنجره زمان

تابع وزن

تبدیل فوریه

طبیعی (P)

П (t) = 1، | t | t £; П (t) = 0، | t |> t

P (w) = 2t سینک

بارتلت (D)

B (w) = t sinc2 (wt / 2).

هنینگا، گانا

p (t) = 0.5

0.5P (w) + 0.25P (w + p / t) + 0.25P (w-p / t)

همینگ

p (t) = 0.54 + 0.46 cos (pt/t)

0.54P (w) + 0.23P (w + p / t) + 0.23P (w-p / t)

Carre (پنجره دوم)

p (t) = b (t) sinc (pt / t)

t · B (w) * П (w)، П (w) = 1 برای | w |

لاپلاس-گاوس

p (t) = exp [-b2 (t / t) 2/2]

[(t / b) exp (-t2w2 / (2b2))] ③ П (w)

آنالوگ های دو بعدی فیلترهای یک بعدی f1 (x) در دو نوع تقارن ساخته می شوند: یا به عنوان تابعی از شعاع:

f2 (x, y) = f1 ()

یا به عنوان یک اثر:

f2 (x, y) = f1 (x) × f1 (y).

گزینه اول صحیح تر است، اما دومی دارای خاصیت تفکیک پذیری است، یعنی پیچیدگی دو بعدی را می توان با دو پیچیدگی یک بعدی به ترتیب در امتداد ردیف های با f1 (x) و در امتداد ستون های با f1 (y) انجام داد.

نمونه برداری مجدد از تصویر یا نمونه برداری مجدد تغییر در نرخ نمونه برداری یک سیگنال دیجیتال است. برای تصاویر دیجیتال، این به معنای تغییر اندازه تصویر است.

الگوریتم های مختلفی برای نمونه گیری مجدد تصاویر وجود دارد. به عنوان مثال، برای بزرگ‌نمایی ۲ برابری تصویر با استفاده از روش درون‌یابی دوخطی، ستون‌ها و ردیف‌های میانی با درون‌یابی خطی مقادیر ستون‌ها و ردیف‌های مجاور به‌دست می‌آیند. هر نقطه از تصویر جدید را می توان به عنوان مجموع وزنی تعداد بیشتری از نقاط در تصویر اصلی (دو مکعبی و سایر انواع درونیابی) به دست آورد. بالاترین کیفیت نمونه برداری مجدد هنگام استفاده از الگوریتم هایی به دست می آید که نه تنها زمان، بلکه دامنه فرکانس سیگنال را نیز در نظر می گیرند.

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

فرض کنید ما یک سیگنال یک بعدی داریم (شکل 17.2.4)، که در بازه 0-T مشخص شده و با یک مرحله Dt = 1 (N فواصل) نمونه برداری شده است. لازم است سیگنال m بار "کشش" شود. طیف سیگنال نشان داده شده در شکل با تبدیل فوریه سریع محاسبه می شود (FFT، تعداد نمونه های طیف برابر با تعداد نمونه های سیگنال است) و در محدوده FFT اصلی (0-2p، فرکانس نایکوئیست wN = p است. / Dt = p، یا 0.5N با توجه به شماره گذاری نمونه های طیف با یک پله در امتداد طیف Df = 1 / T یا Dw = 2p / T). 2 مرحله برای انجام حرکات کششی وجود دارد.

مرحله اول درون یابی با صفر است که طول سیگنال را ضریب m افزایش می دهد. (شکل 17.2.5). لازم است تمام نمونه های سیگنال اصلی را در m ضرب کنید، و سپس بعد از هر نمونه سیگنال، مقدار m-1 را صفر درج کنید. در بازه 0-T که مقدار آن بدون تغییر باقی می ماند، اکنون m برابر فواصل نمونه برداری بیشتری (mN) قرار دارد و مرحله نمونه برداری جدید برابر با Dx = Dt / m خواهد بود. بر این اساس، فرکانس جدید Nyquist برای این سیگنال mp / Dt = mp است. اما اندازه فیزیکی گام طیف در واحدهای فرکانس معکوس با مقدار فیزیکی بازه تنظیم سیگنال است (Df = 1 / T) و بنابراین، FFT از نقاط mN سیگنال، نقاط mN طیف را محاسبه خواهد کرد. محدوده FFT اصلی 0-2pm با یک مرحله از طیف سیگنال اصلی، که در آن دوره های m از طیف سیگنال اصلی (یک سمت اصلی و m-1) وجود خواهد داشت.

مرحله دوم این است که باندهای جانبی طیف را با استفاده از یک فیلتر پایین گذر در حوزه زمان یا حوزه طیفی فیلتر کنید. در شکل 17.2.6، طیف پاک شد و تبدیل فوریه معکوس انجام شد، در نتیجه سیگنالی متر برابر بیشتر از سیگنال اصلی با حفظ کامل تمام اطلاعات فرکانس به دست آمد.

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

هنگام نمونه‌برداری مجدد فقط در حوزه زمان، الگوریتم‌های کشش و فشرده‌سازی، به عنوان یک قاعده، در یک فرآیند متوالی واحد با مشخص کردن تغییر در مرحله نمونه‌گیری به شکل نسبت m / n ترکیب می‌شوند، که امکان تنظیم عدد صحیح را فراهم می‌کند. مقادیر m و n در مقادیر کسری تغییر در مرحله نمونه برداری. این امر الگوریتم ها را بسیار ساده می کند و کارایی و کیفیت کار آنها را افزایش می دهد. به عنوان مثال، هنگامی که سیگنال 1.5 بار در m / n = 3/2 کشیده می شود، سیگنال ابتدا 3 بار کشیده می شود (اضافه ساده و یکنواخت صفر به همه نمونه ها، سپس فیلتر پایین گذر انجام می شود و پس از آن سیگنال انجام می شود. دو برابر کاهش یافته است. فیلتر ضد آلیاسینگ مورد نیاز نیست، زیرا فرکانس قطع آن توسط فرکانس اولین فیلتر پایین گذر پوشش داده می شود. هنگامی که عملیات فشرده سازی معکوس انجام می شود (مثلا m / n = 2/3)، فقط فیلتر ضد آلیاسینگ نیز به همین ترتیب استفاده می شود.

17.3. فیلتر کردن تصاویر

فیلتر کردن تصویر عملیاتی است که منجر به ایجاد تصویری با همان اندازه می شود که طبق قوانین خاصی از تصویر اصلی به دست می آید. معمولاً شدت (رنگ) هر پیکسل از تصویر به دست آمده با شدت (رنگ) پیکسل هایی که در برخی از مجاورت آن در تصویر اصلی قرار دارند تعیین می شود.

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

فیلترهای خط یک توصیف ریاضی بسیار ساده دارند. فرض می‌کنیم که تصویر اصلی در مقیاس خاکستری A داده شده است، و شدت پیکسل‌های آن A (x, y) را نشان می‌دهیم. یک فیلتر خطی توسط یک تابع با ارزش واقعی h (هسته فیلتر) تعریف شده بر روی شطرنجی تعریف می شود. خود فیلتر با استفاده از عملیات کانولوشن گسسته (جمع وزنی) انجام می شود:

B (x، y) = h (i، j) ③③A (x، y) = h (i، j) A (x-i، y-j). (17.3.1)

نتیجه تصویر B است. معمولاً هسته فیلتر فقط در برخی از همسایگی های N نقطه (0، 0) غیر صفر است. در خارج از این محله، h (i، j) صفر یا بسیار نزدیک به آن است و می توان از آن غفلت کرد. جمع بر روی (i، j) Î N انجام می شود، و مقدار هر پیکسل B (x، y) توسط پیکسل های تصویر A تعیین می شود که در پنجره N در مرکز نقطه (x، y) قرار دارد. (تعیین - مجموعه N (x، y)). یک هسته فیلتر تعریف شده بر روی یک همسایگی مستطیلی N را می توان به عنوان یک ماتریس m به n مشاهده کرد که در آن طول ضلع اعداد فرد هستند. هنگام تعیین یک هسته به عنوان ماتریس، باید در مرکز قرار گیرد. اگر پیکسل (x، y) در مجاورت لبه های تصویر باشد، مختصات A (x-i، y-j) برای معین (i، j) ممکن است با پیکسل های موجود A در خارج از تصویر مطابقت داشته باشد. این مشکل از چند طریق قابل حل است.

این پیکسل ها را با برش دادن تصویر B در لبه ها یا اعمال مقادیر اصلی تصویر A روی مقادیر آنها فیلتر نکنید.

با توزیع وزن h (i, j) به طور مساوی بین پیکسل های دیگر در همسایگی N (x, y) پیکسل گم شده را در جمع قرار ندهید.

با استفاده از برون یابی، مقادیر پیکسل را در خارج از مرزهای تصویر دوباره تعریف کنید.

با استفاده از ادامه تصویر آینه، مقادیر پیکسل را در خارج از مرزهای تصویر دوباره تعریف کنید.

انتخاب روش با در نظر گرفتن ویژگی های خاص فیلتر و تصویر انجام می شود.

فیلترهای صاف کننده ساده ترین فیلتر صاف کننده مستطیلی با شعاع r با استفاده از ماتریسی به اندازه (2r + 1) × (2r + 1) مشخص می شود که همه مقادیر آن برابر با 1 / (2r + 1) 2 است و مجموع مقادیر برابر با یک است. این یک آنالوگ دو بعدی از یک فیلتر U شکل متوسط ​​متحرک تک بعدی با فرکانس پایین است. هنگام فیلتر کردن با چنین هسته ای، مقدار پیکسل با مقدار میانگین پیکسل در مربعی با ضلع 2r + 1 در اطراف آن جایگزین می شود. نمونه ای از ماسک فیلتر 3×3:

.

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

کاهش نویز با استفاده از فیلتر مستطیلی یک اشکال قابل توجه دارد: همه پیکسل های ماسک فیلتر در هر فاصله ای از فیلتر پردازش شده تأثیر یکسانی بر نتیجه دارند. هنگام اصلاح فیلتر با افزایش وزن نقطه مرکزی نتیجه کمی بهتر به دست می آید:

.

کاهش نویز مؤثرتر می تواند انجام شود اگر تأثیر پیکسل ها بر نتیجه با افزایش فاصله از شی مورد پردازش کاهش یابد. این ویژگی توسط یک فیلتر گاوسی با هسته دارد: h (i, j) = (1 / 2ps2) exp (- (i2 + j2) / 2s2). فیلتر گاوسی دارای هسته غیر صفر با اندازه بی نهایت است. با این حال، مقدار هسته فیلتر خیلی سریع به n کاهش می یابد، و بنابراین، در عمل، می توان خود را به پیچیدگی با یک پنجره کوچک در اطراف (0، 0) محدود کرد، به عنوان مثال، شعاع پنجره را برابر با 3σ گرفت.

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

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

. .

نمونه ای از اعمال فیلتر در شکل نشان داده شده است. 17.3.1. تأثیر افزایش کنتراست با این واقعیت حاصل می شود که فیلتر بر تفاوت بین شدت پیکسل های همسایه تأکید می کند و این شدت ها را از یکدیگر حذف می کند. این اثر هر چه قوی تر باشد، مقدار ترم مرکزی هسته بزرگتر خواهد بود. یک مصنوع مشخص از فیلتر تقویت کننده کنتراست خطی، نور قابل توجه و هاله های تیره کمتر در اطراف مرزها است.

فیلترهای تفاوت فیلترهای خطی هستند که با تقریب های گسسته عملگرهای دیفرانسیل (با روش تفاوت های محدود) تعریف می شوند. این فیلترها در بسیاری از برنامه ها نقش اساسی دارند، به عنوان مثال، برای وظایف یافتن مرزها در یک تصویر.

ساده ترین عملگر دیفرانسیل گرفتن مشتق با توجه به مختصات x d / dx است که برای توابع پیوسته تعریف شده است. انواع رایج عملگرهای مشابه برای تصاویر گسسته، فیلترهای Prewitt و Sobel هستند:

. .

فیلترهایی که عملگر مشتق را با توجه به مختصات y d / dy نزدیک می کنند با جابجایی ماتریس ها به دست می آیند.

ساده ترین الگوریتم برای محاسبه هنجار گرادیان از سه نقطه مجاور:

G (x، y) = .

یک فرمول محاسبه ساده نیز اعمال می شود:

محاسبه هنجار گرادیان از چهار نقطه مجاور (اپراتور رابرتز):

الگوریتم سوبل از هشت قرائت روشنایی در مجاورت نقطه مرکزی استفاده می کند:

G (x، y) = , G (x, y) @ ,

Gxx، y = -،

Gyx، y = -.

همراه با تعیین دقیق تر هنجار گرادیان، الگوریتم سوبل همچنین امکان تعیین جهت بردار گرادیان در صفحه تجزیه و تحلیل تصویر را در قالب زاویه j بین بردار گرادیان و جهت ردیف های ماتریس فراهم می کند:

j (x، y) = argtg (Gyx، y / Gxx، y).

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

مشابه فیلترهای فوق، با استفاده از روش تفاضل محدود، می توانید فیلترهایی را برای سایر عملگرهای دیفرانسیل بسازید. به طور خاص، عملگر دیفرانسیل لاپلاس (لاپلاسی) D = 𝝏2 / 𝝏x2 + 𝝏2 / 𝝏y2، که برای بسیاری از کاربردها مهم است، می تواند برای تصاویر گسسته توسط یک فیلتر با یک ماتریس (یکی از گزینه ها) تقریب یابد:

.

همانطور که در شکل مشاهده می شود. 17.3.2، در نتیجه اعمال لاپلاسین گسسته، مقادیر مطلق بزرگ مربوط به تفاوت های عمودی و افقی در روشنایی است. بنابراین فیلتر فیلتری است که مرزهای هر جهتی را پیدا می کند. یافتن مرزها در تصویر با اعمال این فیلتر و گرفتن تمام پیکسل هایی که بزرگی آنها از یک آستانه معین فراتر می رود قابل انجام است.

با این حال، این الگوریتم دارای اشکالات قابل توجهی است. اصلی ترین عدم قطعیت در انتخاب مقدار آستانه است. برای قسمت های مختلف تصویر، معمولاً یک نتیجه قابل قبول در مقادیر آستانه متفاوت به دست می آید. علاوه بر این، فیلترهای تفاوت به نویز تصویر بسیار حساس هستند.

پیچیدگی چرخه ای دو بعدی. همانطور که برای سیگنال های یک بعدی، کانولوشن دو بعدی را می توان در حوزه فرکانس های فضایی با استفاده از الگوریتم های تبدیل فوریه سریع و ضرب طیف های دو بعدی تصویر و هسته فیلتر انجام داد. همچنین چرخه ای است و معمولاً در نسخه کشویی انجام می شود. با در نظر گرفتن چرخه، برای محاسبه الگوی ثابت طیف هسته، ابعاد ماسک فیلتر هسته در امتداد محورها دوبرابر شده و با صفر پوشانده می شود، و از همان اندازه های ماسک برای انتخاب پنجره کشویی روی تصویر، در داخل استفاده می شود. که FFT انجام می شود. اجرای فیلتر FIR با FFT به ویژه در صورتی موثر است که فیلتر دارای منطقه مرجع بزرگی باشد.

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

اجازه دهید مفهوم یک همسایگی M از یک عنصر تصویر A (x, y) را معرفی کنیم که برای این محله مرکزی است. در ساده‌ترین حالت، همسایگی M حاوی N-پیکسل است - نقاطی که در ماسک فیلتر قرار می‌گیرند، از جمله (یا شامل نشدن) ماسک مرکزی. مقادیر این عناصر N را می توان در یک سری تغییرات V (r) مرتب کرد، به ترتیب صعودی (یا نزولی) رتبه بندی کرد و لحظات خاصی از این سری را می توان محاسبه کرد، به عنوان مثال، مقدار متوسط ​​روشنایی mN. و واریانس dN. محاسبه مقدار خروجی فیلتر که جایگزین نمونه مرکزی می شود با استفاده از فرمول انجام می شود:

B (x, y) = aА (x, y) + (1-a) mN. (17.3.2)

مقدار ضریب a = با یک رابطه معین با آمار تعداد در پنجره فیلتر مرتبط است، به عنوان مثال:

a = dN / (dN + k dS)، (17.3.3)

که در آن dS واریانس نویز در تصویر به عنوان یک کل یا در همسایگی S برای S> M و MÎS است، k ثابت اطمینان واریانس محله‌های S است. همانطور که از این فرمول به شرح زیر است، برای k = 1 و dN "dS، a" 0.5 رخ می دهد، و مقدار B (x، y) = (A (x، y) + mN) / 2، یعنی به طور مساوی جمع می شود. از مقادیر مرجع مرکزی و مقدار متوسط ​​پیکسل های همسایگی M آن. با افزایش مقادیر dN، سهم در نتیجه مقدار مرجع مرکزی افزایش می یابد و با کاهش، مقدار mN افزایش می یابد. وزن سهم مقادیر متوسط ​​روی همسایگی M را می توان با مقدار ضریب k تغییر داد.

انتخاب تابع آماری و ماهیت وابستگی ضریب a به آن می تواند کاملاً متنوع باشد (به عنوان مثال، با توجه به واریانس تفاوت در نمونه ها در همسایگی M با نمونه مرکزی)، و به هر دو بستگی دارد. در اندازه دیافراگم فیلتر و ماهیت تصاویر و نویز. در اصل، مقدار ضریب a باید میزان آسیب به مرجع مرکزی و بر این اساس، عملکرد قرض گرفتن نمونه ها از محله M برای اصلاح آن را مشخص کند.

ساده ترین و رایج ترین انواع فیلترهای غیر خطی برای پردازش تصویر، فیلترهای آستانه و میانه هستند.

فیلتر آستانه به عنوان مثال به صورت زیر تنظیم می شود:

B (x، y) =

کمیت پآستانه فیلتراسیون است. اگر مقدار نقطه مرکزی فیلتر از مقدار میانگین نمونه mN در همسایگی M آن با مقدار آستانه بیشتر شود، آنگاه با مقدار متوسط ​​جایگزین می شود. مقدار آستانه می تواند ثابت باشد یا از نظر عملکردی به مقدار نقطه مرکزی وابسته باشد.

فیلتر میانه به صورت زیر تعریف می شود:

B (x، y) = med (M (x، y))،

یعنی نتیجه فیلتر، مقدار میانه پیکسل های همسایگی است که شکل آن توسط ماسک فیلتر مشخص می شود. فیلتر میانی می تواند به طور موثر نویز را از تصویر حذف کند که به طور مستقل بر پیکسل های فردی تأثیر می گذارد. به عنوان مثال، چنین نویزهایی پیکسل های "شکسته" در عکاسی دیجیتال، نویز "برف"، زمانی که برخی از پیکسل ها با پیکسل هایی با حداکثر شدت جایگزین می شوند، و غیره هستند. مزیت فیلتر میانی این است که پیکسل "داغ" در پس زمینه تاریک تاریک جایگزین خواهد شد، و در اطراف "لکه دار" نمی شود.

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

فیلترهای افراطی توسط قوانین تعیین می شود:

Bmin (x, y) = min (M (x, y))،

Bmax (x, y) = max (M (x, y))،

یعنی نتیجه فیلتر کردن حداقل و حداکثر مقدار پیکسل در ماسک فیلتر است. چنین فیلترهایی معمولاً برای تصاویر باینری استفاده می شود.

17.4. فشرده سازی تصویر

یک تصویر معمولی با وضوح 3000 × 2000 در 24 بیت بر پیکسل برای تولید مثل رنگ 17 مگابایت است. برای دستگاه های حرفه ای، اندازه شطرنجی تصویر حاصل می تواند بسیار بزرگتر باشد، عمق رنگ تا 48 بیت در هر پیکسل و اندازه یک تصویر می تواند بیش از 200 مگابایت باشد. بنابراین، الگوریتم‌های فشرده‌سازی تصویر برای کاهش داده‌های نمایش‌دهنده یک تصویر بسیار مرتبط هستند.

دو دسته اصلی از الگوریتم ها وجود دارد:

1. فشرده سازی بدون تلفات، اگر چنین الگوریتم معکوس A-1 وجود داشته باشد که برای هر h - تصویر A [h] = h1 A-1 = h داشته باشیم. فشرده‌سازی بدون اتلاف در قالب‌های تصویر گرافیکی مانند: GIF، PCX، PNG، TGA، TIFF استفاده می‌شود و در پردازش اطلاعات اولیه با ارزش (تصاویر پزشکی، تصاویر هوایی و فضایی و غیره) حتی در صورت کوچک‌ترین اعوجاج استفاده می‌شود. نامطلوب

2. فشرده سازی با اتلاف (فشرده سازی از دست رفته)، در صورتی که قابلیت بازیابی دقیق تصویر اصلی را فراهم نکند. یک الگوریتم برای بازیابی تصویر تقریبی جفت شده با A به صورت A * نشان داده می شود. جفت (A, A *) برای ارائه نسبت فشرده سازی بالا در عین حفظ کیفیت بصری انتخاب شده است. فشرده سازی با اتلاف در فرمت های گرافیکی: JPEG، JPEG2000 و غیره استفاده می شود.

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

الگوریتم های کدگذاری طول تکرار (RLE). بر اساس یک اصل ساده است: جایگزینی گروه های تکرار شونده از عناصر دنباله اصلی با یک جفت (کمیت، عنصر) یا فقط با کمیت.

سطح بیت. ما داده های اصلی را در سطح دنباله ای از بیت ها در نظر می گیریم، به عنوان مثال، یک تصویر سیاه و سفید را نشان می دهد. معمولاً چندین 0 یا 1 در یک ردیف وجود دارد و می توانید تعداد ارقام متوالی یکسان را رمزگذاری کنید. اما تعداد تکرارها نیز باید در بیت کدگذاری شود. می توانیم فرض کنیم که هر تعداد تکرار از 0 تا 7 (کد 3 بیتی) متغیر است و دنباله ای از کدهای یک و صفر را به طور متناوب تغییر می دهد. به عنوان مثال، دنباله را می توان با اعداد 7 0 4 مقایسه کرد، یعنی 7 یک، 0 صفر، 4 یک، در حالی که ما یک سال جدید داریم - هر چه طول دنباله های همان بیت ها بیشتر باشد، تأثیر بیشتر خواهد بود. . بنابراین، دنباله ای از 21 یک، 21 صفر، 3 یک و 7 صفر به صورت زیر کدگذاری می شود: یعنی از دنباله اصلی با طول 51 بیت، دنباله ای به طول 36 بیت داریم.

سطح بایت فرض کنید که یک تصویر در مقیاس خاکستری به ورودی داده می شود، جایی که 1 بایت به مقدار شدت پیکسل اختصاص داده می شود، در حالی که انتظار یک رشته طولانی از بیت های یکسان به طور قابل توجهی کاهش می یابد.

جریان ورودی را به بایت تقسیم می کنیم (کد از 0 تا 255) و بایت های تکرار شده را به صورت جفت (عدد، حرف) رمزگذاری می کنیم. یک بایت می تواند بدون تغییر باقی بماند. بنابراین، بایت های AABBBCDAA (2A) (3B) (C) (D) (2A) کدگذاری می شوند.

با این حال، اصلاحات این الگوریتم به ندرت به تنهایی مورد استفاده قرار می گیرند (به عنوان مثال، در قالب PCX)، زیرا زیر کلاس دنباله هایی که الگوریتم روی آنها مؤثر است، نسبتاً باریک است. اغلب آنها به عنوان یکی از مراحل خط لوله فشرده سازی استفاده می شوند.

الگوریتم های دیکشنری به جای رمزگذاری تنها یک عنصر از دنباله ورودی، زنجیره عناصر کدگذاری می شود. در این مورد، یک فرهنگ لغت از رشته ها (ایجاد شده از دنباله ورودی) برای رمزگذاری رشته های جدید استفاده می شود.

الگوریتم LZ77 یکی از اولین الگوریتم هایی بود که از دیکشنری استفاده کرد. آخرین N عنصر رمزگذاری شده توالی به عنوان فرهنگ لغت استفاده می شود. در طول فرآیند فشرده سازی، فرهنگ لغت بعدی روی دنباله ورودی "لغزش" می کند. زنجیره عناصر در خروجی به صورت زیر کدگذاری می شود: موقعیت قسمت تطبیق زنجیره پردازش شده عناصر در فرهنگ لغت - آفست (نسبت به موقعیت فعلی)، طول، اولین عنصر به دنبال قسمت منطبق از زنجیره. طول زنجیره کبریت از بالا با عدد n محدود می شود. بر این اساس، وظیفه یافتن بزرگترین رشته از فرهنگ لغت است که با دنباله در حال پردازش مطابقت دارد. اگر هیچ منطبقی وجود نداشته باشد، آفست صفر، یک طول و اولین عنصر دنباله کد نشده ثبت می شود.

طرح کدگذاری که در بالا توضیح داده شد منجر به مفهوم یک پنجره کشویی می شود که از دو بخش تشکیل شده است:

دنباله ای از عناصر از قبل رمزگذاری شده با طول N-Dictionary - search buffer.

دنباله طول n از زنجیره عناصری که برای یافتن یک تطابق برای آنها تلاش می شود، بافر نگاه به آینده است.

رمزگشایی یک دنباله فشرده رمزگشایی از کدهای ضبط شده است: هر ورودی با یک رشته از یک فرهنگ لغت و یک عنصر به صراحت نوشته شده تطبیق داده می شود، پس از آن فرهنگ لغت جابجا می شود. فرهنگ لغت با اجرای الگوریتم رمزگشایی دوباره ایجاد می شود.

این الگوریتم نیای یک خانواده کامل از الگوریتم ها است. از مزایای آن می توان به نسبت فشرده سازی مناسب در توالی های نسبتاً بزرگ و رفع فشرده سازی سریع اشاره کرد. از معایب آن می توان به سرعت کم فشرده سازی و نسبت تراکم پایین تر نسبت به الگوریتم های جایگزین اشاره کرد.

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

رمزگشایی شامل رمزگشایی مستقیم کدها می شود، به عنوان مثال، ساخت یک فرهنگ لغت و خروجی رشته های مربوطه. فرهنگ لغت به همان روشی که در رمزگذار وجود دارد مقداردهی اولیه می شود. از مزایای الگوریتم می توان به نسبت فشرده سازی بالا و سرعت نسبتاً بالا در فشرده سازی و رمزگشایی اشاره کرد.

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

الگوریتم هافمن از یک کد پیشوند با طول متغیر با ویژگی خاص استفاده می کند: کدهای کوتاهتر با پیشوند (قسمت اولیه) کدهای طولانی تر مطابقت ندارند. این کد امکان کدنویسی یک به یک را می دهد. فرآیند فشرده سازی شامل جایگزینی هر عنصر از دنباله ورودی با کد آن است. ساخت مجموعه ای از کدها معمولا با استفاده از به اصطلاح انجام می شود درختان کد.

الگوریتم هافمن دو پاس است. اولین عبور از تصویر جدولی از وزن عناصر ایجاد می کند و در طول دوم، کدگذاری رخ می دهد. پیاده سازی هایی از الگوریتم جدول ثابت وجود دارد. اغلب اتفاق می افتد که توزیع احتمال قبلی عناصر الفبا ناشناخته است، زیرا کل دنباله به یکباره در دسترس نیست و از اصلاحات تطبیقی ​​الگوریتم هافمن استفاده می شود.

فشرده سازی تصویر از دست رفته مقدار اطلاعات مورد نیاز برای ذخیره تصاویر معمولا زیاد است. الگوریتم‌های کلاسیک، که الگوریتم‌های همه منظوره هستند، در نظر نمی‌گیرند که اطلاعات فشرده شده یک تصویر - یک شی دو بعدی است، و نسبت فشرده‌سازی کافی را ارائه نمی‌دهند.

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

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

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

تبدیل فوریه. به طور کلی، تصویر را می توان تابعی از دو متغیر در نظر گرفت که در نقاط شطرنجی نهایی تعریف شده اند. مجموعه ای از این توابع در نقاط یک شطرنجی محدود ثابت یک فضای اقلیدسی محدود بعدی را تشکیل می دهند و یک تبدیل فوریه گسسته، یعنی نمایش طیفی تصویر، می تواند برای آنها اعمال شود. فراهم می کند:

عدم همبستگی و استقلال ضرایب طیف، یعنی دقت نمایش یک ضریب به دیگری بستگی ندارد.

- تراکم انرژی تبدیل اطلاعات اولیه را در تعداد کمی از ضرایب نگه می دارد. این ویژگی در تصاویر فوتورئالیستی بارزتر است.

ضرایب نمایش طیفی دامنه فرکانس های فضایی تصویر هستند. در مورد تصاویر با انتقال صاف، بیشتر اطلاعات در طیف فرکانس پایین موجود است.

الگوریتم فشرده سازی مورد استفاده در فرمت JPEG بر اساس استفاده از تبدیل فوریه کسینوس گسسته است. طرح فشرده سازی در الگوریتم یک خط لوله است که در آن این تبدیل تنها یکی از مراحل است، اما یکی از مراحل اصلی است. الگوریتم شامل عملیات اساسی زیر است:

1. ترجمه به فضای رنگی YCbCr. در اینجا Y جزء درخشندگی است، Cb و Cr مولفه های رنگی هستند. چشم انسان به روشنایی بیشتر از رنگ حساس است. بنابراین، حفظ دقت بیشتر در انتقال Y نسبت به انتقال Cb و Cr اهمیت بیشتری دارد.

2. تبدیل کسینوس گسسته (DCT). تصویر به بلوک های 8 × 8 تقسیم می شود. یک تبدیل کسینوس گسسته برای هر بلوک اعمال می شود (به طور جداگانه برای مؤلفه های Y، Cb و Cr).

3. کاهش مولفه های فرکانس بالا در ماتریس های DCT. چشم انسان عملاً متوجه تغییرات در اجزای فرکانس بالا نمی شود، بنابراین، ضرایب مسئول فرکانس های بالا را می توان با دقت کمتری ذخیره کرد.

4. ترتیب زیگزاگی ماتریس ها. این یک پاس ماتریسی ویژه برای به دست آوردن یک دنباله یک بعدی است. ابتدا عنصر T00 می آید، سپس T01، T10، T1 علاوه بر این، برای تصاویر واقعی واقعی، ابتدا ضرایب غیر صفر مربوط به اجزای فرکانس پایین و سپس - صفرهای زیادی (مولفه های فرکانس بالا) وجود خواهد داشت.

5. فشرده سازی ابتدا به روش RLE و سپس به روش هافمن.

الگوریتم بازیابی تصویر به ترتیب معکوس کار می کند. نسبت تراکم از 5 تا 100 بار یا بیشتر. در عین حال، کیفیت بصری برای اکثر تصاویر فوتورئالیستی، زمانی که تا 15 بار فشرده می شود، در سطح خوبی باقی می ماند. الگوریتم و قالب متداول ترین برای انتقال و ذخیره تصاویر تمام رنگی است.

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

در الگوریتم های فشرده سازی با تلفات، به عنوان یک قاعده، تمام عملیات خط لوله فشرده سازی حفظ می شود و تبدیل فوریه گسسته با تبدیل موجک گسسته جایگزین می شود. تبدیل های موجک دارای مکان یابی فرکانسی-مکانی بسیار خوبی هستند و در این اندیکاتور نسبت به تبدیل های فوریه سنتی برتری دارند. این امکان اعمال کوانتیزاسیون قوی‌تر را فراهم می‌کند و خواص دنباله را برای فشرده‌سازی بعدی بهبود می‌بخشد. الگوریتم های فشرده سازی تصویر بر اساس این تبدیل، با همان نسبت فشرده سازی، نتایج بهتری در حفظ کیفیت تصویر نشان می دهند.

ادبیات

46. ​​و همکاران الگوریتم های سریع در پردازش تصویر دیجیتال. - م .: رادیو و ارتباطات، 1984 .-- 224 ص.

47. پردازش تصویر Soifer. بخش 2. روش ها و الگوریتم ها. - مجله آموزشی سوروس شماره 3، 1996.

48.، نویز غضروف از تصاویر بر اساس الگوریتم های غیر خطی با استفاده از آمار رتبه. - دانشگاه دولتی یاروسلاول، 2007.

49. سیستم های نظارت تلویزیونی Andreev. قسمت دوم. حساب - مبانی و الگوریتم های منطقی. آموزش. - SPb: SPb، GUITMO، 2005 .-- 88p.

51. مقدمه ای بر پردازش سیگنال دیجیتال (مبانی ریاضی) .- M .: دانشگاه دولتی مسکو، آزمایشگاه گرافیک کامپیوتری و چند رسانه ای، 2002. - http: // pv. ***** / dsp / dspcourse. pdf، http: // dsp-book. ***** / dspcourse. djvu، http: // geogin. ***** / arhiv / dsp / dsp4.pdf.

1i. و سایر مبانی الگوریتمی گرافیک شطرنجی. - دانشگاه فناوری اطلاعات اینترنتی. - http://www. ***** / goto / course / rastrgraph /

2i. لوکین - سیستم های الکترونیکی: یادداشت های سخنرانی. ITMO، 2004. - سنت پترزبورگ، ITMO IFF، 2004. - http: // if. ***** / kons / oes / KL. htm

در مورد خطاهای مشاهده شده و پیشنهادات برای اضافات: ***** @ *** ru.

کپی رایت© 2008داویدوفآ.V.

کار آزمایشگاهی شماره 1

الگوریتم های پردازش تصویر

عملیات پیچیدگی

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

جایی که M2xN2 - اندازه ماتریس هسته کانولوشن. اندازه ماتریس افبرابر است با (M1 + M2-1) x (N1 + N2-1)، که در آن M1xN1 - اندازه ماتریس اصلی اف" ... ماتریس افبا اضافه کردن عناصر در لبه های ماتریس طبق قوانینی از نمونه اصلی به دست می آید تا آن را به اندازه مورد نیاز برساند. معمولاً ماتریس اصلی به اندازه نصف عرض ماتریس با صفر در لبه ها پر می شود. اچبه سمت چپ و راست و به ترتیب نیمی از ارتفاع بالا و همان پایین. سپس اندازه ماتریس حاصل آرمانند ماتریس خواهد بود اف" .

همانطور که در بالا نشان داده شده است، می توان کانولوشن را مستقیماً با "اجرا کردن" یک ماتریس بر روی ماتریس دیگر محاسبه کرد. در شکل 1 طرح محاسبه کانولوشن را نشان می دهد (اندازه ماتریس ماسک برابر با 3x3 در نظر گرفته می شود). عملگر پیچیدگی را می توان به عنوان ماتریسی از ضرایب (ماسک) مشاهده کرد که از نظر عنصر با قطعه تصویر انتخاب شده ضرب می شوند و سپس برای بدست آوردن مقدار جدید عنصر تصویر فیلتر شده جمع می شوند. این ماتریس می تواند در هر اندازه ای باشد، نه لزوما مربع.

برنج. 1. اجرای عملیات کانولوشن.

ورزش

    الگوریتمی را پیاده سازی کنید که عمل کانولوشن تصویر اصلی را با ماتریس-ماسک انجام دهد.

    اندازه و نوع ماتریس ماسک توسط کاربر تعیین می شود.

    از ماتریس های ماسک زیر برای پیاده سازی الگوریتم های مختلف پردازش تصویر استفاده کنید:

    • برای صاف کردن و سرکوب نویز در تصویر، از ماسک ماتریس 3x3 به شکل زیر استفاده کنید:

    برای تأکید بر خطوط، از ماسک های ماتریسی از نوع زیر استفاده می شود:

1/9*

    برای انتخاب خطوط کلی از یک ماسک از نوع زیر استفاده می شود:

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

5. پیاده سازی الگوریتم برجسته سازی برجسته سازی به همان روشی انجام می شود که برای الگوریتم های کانتور به طور میانگین یا زیر خط کشیده می شود. هر پیکسل در تصویر توسط یک ماتریس برجسته 3x3 پردازش می شود. به عنوان مثال، ماسک ماتریس زیر را می توان به عنوان هسته برجسته در نظر گرفت:

پس از پردازش مقدار پیکسل توسط هسته منبت، 128 به آن اضافه می شود.بنابراین، مقدار پیکسل پس زمینه به رنگ خاکستری متوسط ​​تبدیل می شود (قرمز = 128، سبز = 128، آبی = 128). مبالغ بالای 255 را می توان به 255 گرد کرد.

در نسخه برجسته تصویر، به نظر می رسد که خطوط در بالای سطح اکسترود شده اند. جهت روشنایی تصویر را می توان با تغییر موقعیت های 1 و -1 در هسته تغییر داد. به عنوان مثال، اگر مقادیر 1 و -1 با هم عوض شوند، جهت روشنایی معکوس می شود.

6. رنگ آمیزی آب تصویر. فیلتر آبرنگ تصویر را تبدیل می کند و پس از پردازش به نظر می رسد که با آبرنگ نقاشی شده است:

    اولین قدم در استفاده از فیلتر آبرنگ صاف کردن رنگ های تصویر است. یکی از روش های ضد آلیاسینگ استفاده از میانگین رنگی در هر نقطه است. مقدار رنگ هر پیکسل و 24 همسایه آن (اندازه ماتریس ماسک 5x5 است) در یک سری تغییرات به ترتیب نزولی یا صعودی مرتب شده اند. مقدار رنگ میانه (سیزدهم) در سری تغییرات به پیکسل مرکزی اختصاص داده می شود.

    پس از صاف کردن رنگ ها، باید یک فیلتر زیر خطی اعمال کنید تا مرزهای انتقال رنگ را برجسته کنید.

بازنمایی تصاویر

دو نوع اصلی نمایش تصویر وجود دارد - برداری و شطرنجی.

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

یک تصویر شطرنجی یک یا چند ماتریس است که توزیع فضایی ویژگی های تصویر را در یک شبکه مختصات دکارتی مشخص می کند. در این حالت تصویر از نقاط زیادی ساخته شده و ساختار شطرنجی دارد. عنصر اصلی نمایش تصویر شطرنجی یک پیکسل (مخفف عبارت "عناصر تصویر" - عناصر تصویر) است که دارای مختصاتی در سیستم مختصات شطرنجی و برخی ویژگی ها (رنگ، ​​روشنایی، شفافیت و غیره) است. تعداد پیکسل ها در مختصات X و Y (افقی و عمودی) وضوح (بعد) نمایش تصویر را تعیین می کند. رنگ یک پیکسل بر اساس عمق مشخص می شود - تعداد بیت های مورد نیاز برای تعیین هر رنگ.

تصاویر شطرنجی بسته به روش های تنظیم رنگ پیکسل و ویژگی های تصویر اصلی به دو دسته تقسیم می شوند:

دودویی

نیم صدا

جعبه رنگ نقاشی

تمام رنگی

در نمایش باینری، رنگ یک پیکسل می تواند سفید یا سیاه باشد و در یک بیت کدگذاری می شود. تصویر یک ماتریس است. هر عنصر I (i, j) از این ماتریس دارای مقدار 0 یا 1 است که i شماره ردیف است و شماره ستون j عنصر مربوط به پیکسل داده شده است (شکل 1).

در تصاویر با مقیاس خاکستری، پیکسل ها مقادیر روشنایی در مقیاس خاکستری را نشان می دهند. شاخص های ماتریسی که یک تصویر در مقیاس خاکستری را توصیف می کنند، موقعیت پیکسل را روی شطرنجی و مقدار عنصر ماتریس را مشخص می کنند.

- روشنایی آن را I (i، j) تنظیم می کند (شکل 2).

تصاویر پالت با دو ماتریس توصیف می شوند (شکل 3). یکی مقادیر اندیس ها را ذخیره می کند که ارجاع به سطر ماتریس پالت را مشخص می کند. ماتریس پالت یک نقشه رنگی است. این شامل 3 گروه ستون - مربوط به رنگ های قرمز "R"، سبز "G" و آبی "B" است. آنها رنگ پیکسل مربوطه را تعیین می کنند.

پالت یک ماتریس Nc 3 است که در آن Nc تعداد رنگ ها است.

الگوریتم های پیش پردازش تصویر

تصاویر تمام رنگی با فرمت RGB ساخته می شوند و سه ماتریس R (i، j)، G (i، j)، B (i، j) را نشان می دهند. عناصر مربوط به هر ماتریس حاوی مقادیر شدت رنگ های قرمز، سبز و آبی برای پیکسل مشخص شده توسط شاخص های ماتریس است. بنابراین، یک تصویر تمام رنگی نقشه رنگی ندارد و رنگ هر پیکسل با سه عدد برگرفته از ماتریس های مربوطه نشان داده می شود (شکل 4).

فرمت اعداد در ماتریس ها می تواند عدد صحیح یا ممیز شناور باشد. مورد اول به تصاویر به اصطلاح دیجیتالی اشاره دارد که با استفاده از دستگاه های مختلف - اسکنر، دوربین های دیجیتال، دوربین های تلویزیونی و غیره به دست می آیند. در این فرمت است که اطلاعات مربوط به تصاویر در فایل های گرافیکی استاندارد ذخیره می شود.

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

برای تصاویر تمام رنگی، یکی از پارامترها حداکثر تعداد رنگ هایی است که می توان در این فرمت نمایش داد. پرکاربردترین تصاویر دارای 16، 256، 65536 (High Color) و 10.7 میلیون (True Color) رنگ هستند.

الگوریتم های پیش پردازش تصویر

0 0 0 0 1 1 1 0 0

120 122 125 128 115 117 118

1 0 0 0 1 1 1 1 0

119 121 124 125 128 130 133

1 1 0 0 1 1 0 0 1

122 122 124 123 127 126 128

120 121 123 125 127 125 126

1 1 1 0 1 1 0 0 0

118 110 109 108 108 109 110

0 0 1 0 0 1 0 0 1

الگوریتم های پیش پردازش تصویر

ماتریس شاخص

31 15 03 09

ماتریس پالت

الگوریتم های پیش پردازش تصویر

یک تصویر تمام رنگی را می توان نه تنها در فرمت RGB، بلکه با استفاده از سایر سیستم های رنگی نشان داد.

در سیستم HSB، رنگ با ویژگی های رنگ زیر نشان داده می شود: Hue - Hue;

اشباع - اشباع; روشنایی - روشنایی.

اعتقاد بر این است که این سیستم رنگی با ویژگی های درک انسان از رنگ مطابقت دارد.

در سیستم LAB، رنگ به عنوان ترکیبی از روشنایی و دو مقدار رنگی مستقل در نظر گرفته می شود که رنگ واقعی یک پیکسل را تعیین می کند. Chroma A - جزء رنگ را از سرخابی به سبز انتخاب می کند. رنگی B - جزء رنگ دوم از محدوده زرد تا فیروزه ای انتخاب می شود.

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

الگوریتم های پیش پردازش تصویر

با استفاده از نمایش CMYK با این حال، در هر صورت، هنگام پردازش تصاویر و شناسایی آنها، آنها با یک نمایش شطرنجی از تصاویر حاوی یک یا چند ماتریس کار می کنند.

طبقه بندی الگوریتم های پیش پردازش

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

الگوریتم هایی که با هدف بهبود بازتولید رنگ یک تصویر انجام می شوند، الگوریتم های تصحیح رنگ نامیده می شوند. این گروه همچنین شامل الگوریتم‌هایی است که با تصاویر نیمه‌تونی کار می‌کنند که مشخصه‌های روشنایی و کنتراست آن‌ها را تغییر می‌دهند.

الگوریتم هایی که هدفشان پردازش ویژگی های فضایی تصاویر است، الگوریتم نامیده می شود فیلتر فضاییاین گروه شامل الگوریتم های سرکوب نویز، الگوریتم های هموارسازی فضایی و الگوریتم های بهره فضایی، الگوریتم های سرکوب و تقویت فرکانس های فضایی است.

الگوریتم هایی که عملیات هندسی را روی یک تصویر انجام می دهند نامیده می شوند الگوریتم های پردازش هندسی... این شامل:

الگوریتم های پیش پردازش تصویر

برش یک تصویر - انتخاب از تصویر اصلی قسمت خاصی از یک شکل مستطیلی.

تغییر اندازه تصویر این الگوریتم‌ها از روش‌های درون‌یابی مختلفی استفاده می‌کنند که اجازه می‌دهند یا پیکسل‌های از دست رفته را در تصویر بزرگ‌شده به درستی پر کنند، یا وقتی تصویر کاهش می‌یابد، مقادیر پیکسل را دوباره محاسبه می‌کنند.

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

الگوریتم هایی که تبدیل از یک سیستم رنگی به سیستم دیگر را انجام می دهند نامیده می شوند الگوریتم های تبدیل رنگ... آنها همچنین شامل الگوریتم هایی برای تبدیل تصاویر رنگی به مقیاس خاکستری و الگوریتم های باینریزه می شوند که تصویر اصلی را به یک باینری تبدیل می کند.

الگوریتم هایی که برخی از نواحی تصویر اصلی را بر اساس شرایط مختلف و اغلب غیررسمی برجسته می کنند، الگوریتم تقسیم بندی نامیده می شوند. نمونه ای از چنین الگوریتمی می تواند به عنوان مثال، الگوریتمی باشد که باید مناطقی از متن و اطلاعات گرافیکی را روی یک تصویر سند انتخاب کند، یا الگوریتمی که مناطقی را در یک تصویر متنی انتخاب می کند که به کلمات جداگانه اشاره دارد.

الگوریتم های پیش پردازش تصویر

الگوریتم های فیلتر فضایی

فیلتر فضایی یک تصویر به شکل ریاضی، پیچیدگی گسسته یک تصویر گسسته با یک پاسخ ضربه ای مشخص از فیلتر فضایی است.

اگر (i، j)

من (i m، j n) h (m، n)، جایی که:

m N11 n N21

Im، اگر ماتریس های تصاویر اصلی و فیلتر شده، ماتریس h پاسخ ضربه ای فیلتر،

N 11، N 21 مرزهای پایین و بالایی ستون های پاسخ ضربه هستند، N 12، N 22 مرزهای چپ و راست ردیف های پاسخ ضربه هستند.

ماتریس پاسخ ضربه ای را می توان با محاسبه فیلتر فضایی بر اساس پارامترهای مشخص شده به دست آورد. به عنوان مثال، مقدار زیادی از ادبیات اختصاص داده شده به فیلتر دیجیتال، به روش‌های محاسبه فیلترهای فضایی اختصاص دارد. برای محاسبات عملی، می توانید از بسته های ریاضی استاندارد استفاده کنید، به عنوان مثال، سیستم «متلب» شامل سیستم محاسبه فیلتر «طراحی فیلتر تصویر» است.

توجه داشته باشید که فیلتر کردن در حوزه فرکانس نیز قابل انجام است. در آن

الگوریتم های پیش پردازش تصویر

در این مورد، ترتیب فیلتر به شرح زیر است:

با استفاده از تبدیل فوریه گسسته دوبعدی، یک تصویر را از حوزه فضایی به فرکانس تبدیل کنید

ضرب عنصری ماتریس فرکانس تصویر را در ماتریس فرکانس فیلتر انجام دهید

نتیجه به دست آمده را با استفاده از تبدیل فوریه گسسته دو بعدی معکوس به یک حوزه فضایی تبدیل کنید.

من (x، y)

من (f x، f y)

اگر (f x, f y) Im (f x, f y) H (f x, f y)

اگر (fx, f y)

اگر (x، y).

فیلتر کردن تصاویر در حوزه فرکانس به دلیل حجم زیاد محاسبات به ندرت مورد استفاده قرار می گیرد. با این حال، این روش فیلتر به طور گسترده ای در محاسبات نظری هنگام تجزیه و تحلیل گزینه های پردازش تصویر استفاده می شود. این به شما امکان می دهد به وضوح تصور کنید که چه نوع فیلتری مورد نیاز است. به عنوان مثال، اگر شما نیاز به برجسته کردن تغییرات واضح در روشنایی در تصویر دارید، واضح است که باید از فیلترهای بالاگذر استفاده کنید. برعکس، اگر نیاز به خلاص شدن از تداخل فرکانس پایین - حلقه های لرزان، موج های جداگانه و غیره دارید، باید از فیلترهای کم گذر استفاده کنید. پارامترهای فیلتر خاص بر اساس تجزیه و تحلیل فرکانس تداخل و ویژگی های تصویر اصلی انتخاب می شوند.