نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • ویندوز 10
  • روش های تقسیم بندی تصویر مطالعه روش های تقسیم بندی بر روی تصاویر مدل

روش های تقسیم بندی تصویر مطالعه روش های تقسیم بندی بر روی تصاویر مدل

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

الگوریتم تقسیم بندی توسط حوزه آبخیز (WaterShed)


الگوریتم با تصویر به عنوان تابعی از دو متغیر کار می کند f=I(x,y) ، جایی که x، y - مختصات پیکسل:


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




عکس. 1. تصویری از فرآیند پر کردن آب

چنین الگوریتمی می تواند مفید باشد اگر تصویر عدد کوچکحداقل های محلی، اما در مورد تعداد زیادی از آنها، تقسیم بیش از حد به بخش ها رخ می دهد. به عنوان مثال، اگر الگوریتم را مستقیماً به شکل 1 اعمال کنیم. 2، ما جزئیات کوچک زیادی را در شکل دریافت می کنیم. 3.


برنج. 2. تصویر اصلی


برنج. 3. تصویر پس از تقسیم بندی توسط الگوریتم آبریز

چگونه با جزئیات کوچک برخورد کنیم؟

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


برنج. 4. تصویر با نشانگر


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

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


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


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

مات تصویر = imread("coins.jpg", CV_LOAD_IMAGE_COLOR); // خطوط را انتخاب کنید Mat imageGray, imageBin; cvtColor (تصویر، تصویر خاکستری، CV_BGR2GRAY)؛ آستانه (imageGray، imageBin، 100، 255، THRESH_BINARY)؛ std:: vector > خطوط خطوط؛ std:: vector سلسله مراتب findContours (imageBin، خطوط، سلسله مراتب، CV_RETR_TREE، CV_CHAIN_APPROX_SIMPLE)؛ نشانگرهای تشت (image.size(), CV_32SC1); نشانگر = Scalar::all(0); int compCount = 0; for(int idx = 0; idx >= 0; idx = سلسله مراتب، compCount++) ( drawContours(نشانگرها، خطوط، idx، Scalar::all(compCount+1)، -1، 8، سلسله مراتب، INT_MAX؛ ) std: :بردار colorTab (compCount); برای (int i = 0; i< compCount; i++) { colorTab[i] = Vec3b(rand()&255, rand()&255, rand()&255); } watershed(image, markers); Mat wshed(markers.size(), CV_8UC3); for(int i = 0; i < markers.rows; i++) { for(int j = 0; j < markers.cols; j++) { int index = markers.at(i، j)؛ if(index == -1) washed.at (i، j) = Vec3b(0، 0، 0); else if (شاخص == 0) washed.at (i، j) = Vec3b(255، 255، 255); دیگری شسته شده.در (i، j) = colorTab; ) ) imshow("تغییر آبخیز"، wshed); WaitKey(0);

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

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


به عنوان مثال، به عنوان مختصات در فضای ویژگی شما می توانید مختصات پیکسل را انتخاب کنید (x، y) و اجزاء RGB پیکسل با ترسیم پیکسل ها در فضای ویژگی، می توانید توده ها را در مکان های خاصی مشاهده کنید.

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

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

تخمین گرادیان از تابع چگالی

بردار تغییر میانگین می تواند برای تخمین گرادیان تابع چگالی استفاده شود
هسته Epanechnikov به عنوان هسته در OpenCV استفاده می شود:


- این حجم است د کره بعدی با شعاع واحد.


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


بنابراین، برای راه رفتن در امتداد گرادیان، کافی است مقدار را محاسبه کنید - بردار تغییر میانگین. باید به خاطر داشت که اگر هسته دیگری را انتخاب کنید، بردار تغییر میانگین متفاوت به نظر می رسد.


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

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

کد نمونه برای اجرای الگوریتم:

مات تصویر = imread("strawberry.jpg", CV_LOAD_IMAGE_COLOR); مات imageSegment; int spatialRadius = 35; int colorRadius = 60; int pyramidLevels = 3; pyrMeanShiftFiltering(تصویر، تصویر بخش، شعاع فضایی، شعاع رنگ، سطوح هرمی)؛ imshow("MeanShift"، imageSegment); WaitKey(0);
نتیجه:


برنج. 8. تصویر اصلی


برنج. 9. پس از تقسیم بندی توسط الگوریتم MeanShift

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

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

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

برنج. 10، 11. تصویر اصلی و نتیجه پس از پر کردن چندین ناحیه

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


برنج. 12، 13. تصویرسازی کار FloodFillهنگامی که یکپارچگی مرز بین مناطق پر شده نقض شود

کد نمونه برای اجرای الگوریتم:

مات تصویر = imread("cherry.jpg", CV_LOAD_IMAGE_COLOR); نقطه شروع; startPoint.x = image.cols/2; startPoint.y = image.rows/2; Scalar loDiff(20, 20, 255); Scalar upDiff(5, 5, 255); اسکالر fillColor(0, 0, 255); همسایگان int = 8; دامنه Rect; int area = floodFill (تصویر، نقطه شروع، fillColor، &دامنه، loDiff، upDiff، همسایگان)؛ مستطیل (تصویر، دامنه، اسکالر (255، 0، 0)); imshow("بخش بندی floodFill"، تصویر); WaitKey(0);
به یک متغیر حوزهتعداد پیکسل های "پر" ثبت خواهد شد.
نتیجه:


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

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


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


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

علاوه بر این، حداقل انرژی مربوط به بهترین بخش بندی است.


V(a,z) - این اصطلاح مسئول ارتباط بین پیکسل ها است. مجموع بر روی تمام جفت پیکسل هایی که همسایه هستند می رود، dis(m,n) - فاصله اقلیدسی. مسئول مشارکت جفت پیکسل در کل if است a n = m ، پس این جفت در نظر گرفته نخواهد شد.
- مسئول کیفیت بخش بندی است، یعنی. جداسازی شی از پس زمینه

با یافتن حداقل جهانی تابع انرژی E ، یک آرایه شفافیت دریافت می کنیم. برای به حداقل رساندن تابع انرژی، تصویر به عنوان یک نمودار توصیف می شود و حداقل برش نمودار جستجو می شود. برخلاف GraphCut در الگوریتم GrabCutپیکسل ها در فضای RGB در نظر گرفته می شوند، بنابراین یک مدل مخلوط گاوسی (GMM) برای توصیف آمار رنگ استفاده می شود. عملیات الگوریتم GrabCutبا اجرای نمونه OpenCV می توانید ببینید

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

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

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

دوتایی سازی با آستانه پایین تر
دوتایی سازی با آستانه پایین تر
باینریزه کردن با آستانه پایین‌تر ساده‌ترین عملیات است که فقط از یک مقدار آستانه استفاده می‌کند:

همه مقادیر به جای معیار، در 1 می شوند در این مورد 255 (سفید) و تمام مقادیر پیکسل (دامنه) که بیشتر از آستانه t - 0 (سیاه) هستند.

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

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

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

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

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

آستانه محلی
روش اوتسا
این روش از هیستوگرام توزیع مقادیر روشنایی پیکسل های تصویر شطرنجی استفاده می کند. یک هیستوگرام با استفاده از مقادیر p i =n i /N ساخته می شود، که در آن N تعداد کل پیکسل های تصویر است، n i تعداد پیکسل هایی با سطح روشنایی i است. محدوده روشنایی با استفاده از آستانه سطح روشنایی k,k به دو کلاس تقسیم می شود - یک مقدار صحیح از 0 تا L. هر کلاس مربوط به فرکانس های نسبی ω 0 ω 1 است:

سطوح متوسط ​​برای هر یک از دو کلاس تصویر:
در مرحله بعد، حداکثر مقدار برای ارزیابی کیفیت تقسیم تصویر به دو قسمت محاسبه می شود:
که در آن (σ cl)2=ω 0 ω 1 (μ 1 -μ 0) 2 واریانس بین کلاسی است و (σ کل) 2 واریانس کل برای کل تصویر است.

آستانه گذاری بر اساس گرادیان روشنایی تصویر
بیایید فرض کنیم که تصویر تجزیه و تحلیل شده را می توان به دو کلاس تقسیم کرد - اشیا و پس زمینه. الگوریتم برای محاسبه مقدار آستانه شامل 2 مرحله زیر است:
1. ماژول گرادیان روشنایی برای هر پیکسل تعیین می شود
تصاویر

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

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

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

ارسال شده در http://www.allbest.ru/

وزارت آموزش و پرورش و علوم فدراسیون روسیه

دانشگاه دولتی مهندسی رادیو ریازان

بخش IIBMT

کار دوره

روش های پردازش تصویر تقسیم بندی

هنر تکمیل شده گرم 432M:

Aleshin S.I.

بررسی شده توسط Assoc. بخش IIBMT:

کاپلان ام.بی.

ریازان 2014

معرفی

1. ارائه تصاویر

3. فرمت های تصویر

4. انواع تصویر

5.1 تغییر کنتراست

5.2 صاف کردن صدا

5.3 تأکید بر مرزها

5.4 فیلتر میانه

5.5 تقسیم بندی تصویر

5.5.3 طرح کلی

5.5.7 روش های برش نمودار

6. شرح توابع

7. تست الگوریتم

نتیجه

کاربرد

معرفی

در اواسط قرن بیستم، پردازش تصویر عمدتاً آنالوگ بود و توسط دستگاه‌های نوری انجام می‌شد. چنین تکنیک های نوری هنوز هم امروزه در زمینه هایی مانند هولوگرافی مهم هستند. با این حال، با افزایش چشمگیر عملکرد کامپیوتر، این روش ها به طور فزاینده ای با روش های پردازش تصویر دیجیتال جایگزین شدند. روش‌های پردازش تصویر دیجیتال معمولاً دقیق‌تر، قابل اعتمادتر، انعطاف‌پذیرتر و آسان‌تر از روش‌های آنالوگ هستند. پردازش تصویر دیجیتال به طور گسترده ای از سخت افزارهای تخصصی مانند پردازنده های خط لوله دستورالعمل و سیستم های چند پردازنده ای استفاده می کند. این امر به ویژه در مورد سیستم های پردازش ویدیو صادق است. پردازش تصویر نیز با استفاده از نرم افزارهای ریاضی کامپیوتری انجام می شود، به عنوان مثال MATLAB، Mathcad، Maple، Mathematica و ... برای این کار هم از ابزارهای اولیه و هم از بسته های افزودنی Image Processing استفاده می کنند.

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

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

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

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

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

1. ارائه تصاویر

مسائل اساسی در تئوری پردازش تصویر عبارتند از: شکل گیری، ورودی، نمایش در کامپیوتر و تجسم. شکل یک سطح را می توان تابعی از فاصله F(x,y) از سطح تا نقطه تصویر با مختصات x و y توصیف کرد. با توجه به اینکه روشنایی یک نقطه در تصویر صرفاً به روشنایی سطح مربوطه بستگی دارد، می توان فرض کرد که اطلاعات بصری وضعیت روشنایی یا شفافیت هر نقطه را با درجه خاصی از دقت منعکس می کند. سپس یک تصویر به عنوان یک تابع محدود از دو متغیر فضایی f(x,y) درک می‌شود که بر روی صفحه مستطیلی محدود Oxy تعریف شده‌اند و مجموعه‌ای از مقادیر آن را دارند. به عنوان مثال، یک عکس سیاه و سفید را می توان به صورت f(x, y)?0 نشان داد، که در آن 0?x?a، 0?y?b و f(x, y) روشنایی هستند (که گاهی اوقات چگالی نوری یا سفیدی نامیده می شود. ) تصویر در نقطه (x, y)؛ الف - عرض قاب، ب - ارتفاع قاب.

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

وارد کردن تصاویر به یک کامپیوتر ناگزیر شامل نمونه برداری از تصاویر در امتداد مختصات فضایی x و y و کمی کردن مقدار روشنایی در هر نقطه گسسته است. گسسته سازی با استفاده از یک شبکه مختصات تشکیل شده توسط خطوط موازی با محورهای x و y یک سیستم مختصات دکارتی به دست می آید. در هر گره از چنین شبکه ای، یک قرائت از روشنایی یا شفافیت حامل اطلاعات درک شده بصری انجام می شود، که سپس کمی شده و در حافظه کامپیوتر ارائه می شود. عنصر تصویری که در فرآیند نمونه برداری تصویر به دست می آید پیکسل نامیده می شود. برای یک نمایش با کیفیت بالا از یک تصویر نیم تن، 28 = 256 سطح کوانتیزه شدن کافی است، یعنی. 1 پیکسل از یک تصویر با 1 بایت اطلاعات کدگذاری می شود.

ویژگی های اصلی تصاویر عبارتند از:

1. اندازه تصویر;

2. عمق رنگ.

3. اجازه.

2. کدگذاری تصویر رنگی

رنگ پدیده ای است که از تعامل نور، یک جسم و یک وسیله (ناظر) به وجود می آید.

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

سه رنگ مستقل خطی را رنگ های اصلی می نامند.

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

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

سیستم RGB

رنگ های اصلی آن قرمز با طول موج 700 نانومتر، سبز با طول موج 546.1 نانومتر و آبی با طول موج 435.8 نانومتر است. سیستم RGB افزودنی است.

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

سیستم CMYK

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

سیستم CMYK اساس چاپ رنگی است.

این بر اساس مدل تفریقی CMY (فیروزه ای - فیروزه ای، سرخابی - سرخابی، زرد) - یک مدل تفریق رنگ است. هنوز سه رنگ اصلی در اینجا وجود دارد.

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

سیستم HSB

این سیستم مبتنی بر استفاده از Hue یا Hue، Saturation و Lightness است. رنگ مشخص کننده یک سایه خاص از رنگ، اشباع - شدت نسبی آن، روشنایی رنگ - مقدار رنگ سیاه برای ایجاد یک تصویر تیره تر است.

یکی از انواع این سیستم، طرح HSL است.

3. فرمت های تصویر

امروزه تعداد زیادی فرمت فایل های گرافیکی مختلف مورد استفاده قرار می گیرند. پرکاربردترین فرمت ها TIFF، GIF، JPEG، PNG و BMP هستند.

فرمت TIFF (فرمت تصویر برچسب) یکی از قابل اعتمادترین و همه کاره ترین فرمت ها برای ذخیره تصاویر رنگی اسکن شده با کیفیت بالا است. می تواند با استفاده از الگوریتم LZW از فشرده سازی استفاده کند، یعنی. به فرمت‌های ذخیره‌سازی تصویر بدون تلفات اشاره دارد.

فرمت GIF (فرمت تبادل گرافیکی) دارای پالت رنگی 256 رنگ است و از الگوریتم بدون اتلاف LZW برای فشرده سازی استفاده می کند. اگر تعداد رنگ های اصلی بیش از 256 باشد، برخی از اطلاعات رنگ از بین می رود.

فرمت JPEG (Join Photographers Expert Group) بر اساس الگوریتم فشرده سازی تصویر به همین نام است. این یک الگوریتم فشرده سازی با اتلاف است و برای ذخیره تصاویر تمام رنگی با نسبت فشرده سازی بالا طراحی شده است. هنگام استفاده از فرمت، می توانید پارامتر کیفیت را از 0 (حداکثر فشرده سازی) تا 100 (حداکثر کیفیت) کنترل کنید. نسبت فشرده سازی، بسته به کیفیت، از 10 تا 1000 است. این فرمت اغلب برای ذخیره تصاویر عکاسی تمام رنگی استفاده می شود که برای پردازش بیشتر در نظر گرفته نشده اند.

فرمت PNG یک فرمت شطرنجی برای ذخیره اطلاعات گرافیکی است که از فشرده سازی بدون تلفات با استفاده از الگوریتم Deflate استفاده می کند. فرمت PNG برای جایگزینی فرمت قدیمی تر و ساده تر GIF و تا حدودی جایگزین فرمت بسیار پیچیده تر TIFF طراحی شده است. فرمت PNG در درجه اول برای استفاده در اینترنت و ویرایش گرافیکی قرار گرفته است. مزایای اصلی زیر را نسبت به GIF دارد: تعداد تقریباً نامحدود رنگ در تصویر. پشتیبانی از کانال آلفا اختیاری. امکان تصحیح گاما؛ اسکن دو بعدی بهم پیوسته

فرمت BMP (BitMaP) یکی از فرمت های شطرنجی بومی سیستم عامل ویندوز است. برای ذخیره تصاویر هم به صورت نمایه شده با پالت حداکثر 256 رنگ و هم در قالب تصاویر RGB تمام رنگی با عمق رنگ 24 بیت مناسب است. امکان استفاده از الگوریتم فشرده سازی RLE وجود دارد.

4. انواع تصویر

4.1 تصویر دو سطحی (یا تک رنگ).

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

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

1. تصویر نیم تنه. چنین تصویری با مقیاس 2n سطح از لایه های n بیتی تشکیل شده است.

2. تصویر رنگی. چنین تصویری در یکی از فرمت های ارائه شده در بالا توضیح داده شده است.

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

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

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

5. روش های پردازش تصویر

تجزیه و تحلیل اولیه تصاویر به ما این امکان را می دهد که نتیجه بگیریم:

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

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

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

5.1 تغییر کنتراست

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

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

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

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

5.2 صاف کردن صدا

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

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

مجموعه نقاط متعلق به همسایگی نقطه (از جمله خود نقطه) کجاست. - تعداد نقاط در محله.

روش در نظر گرفته شده به طور موثر نویز افزودنی و ضربه ای را در هر عنصر تصویر حذف می کند.

5.3 تأکید بر مرزها

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

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

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

5.4 فیلتر میانه

فیلتر میانی به روش‌های پردازش تصویر غیرخطی اشاره دارد و مزایای زیر را نسبت به فیلتر خطی (رویه صاف‌سازی کلاسیک) دارد: تغییرات شدید (مرزها) را حفظ می‌کند. به طور موثر نویز ضربه ای را صاف می کند. روشنایی پس زمینه را تغییر نمی دهد.

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

5.5 تقسیم بندی تصویر

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

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

5.5.1 روش های تقسیم بندی آستانه

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

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

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

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

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

سخت ترین چیز در مورد آستانه، فرآیند تعیین آستانه است. آستانه اغلب به عنوان تابعی از فرم نوشته می شود:

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

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

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

5.5.2 روش ها برای مناطق در حال رشد

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

تقسیم بندی آستانه و تقسیم بندی بر اساس معیار همگنی بر اساس روشنایی متوسط ​​اغلب نتایج مورد نظر را به دست نمی دهد. این تقسیم بندی معمولاً منجر به تعداد قابل توجهی از مناطق کوچک می شود که هیچ نمونه اولیه واقعی در تصویر ندارند. مؤثرترین نتایج با تقسیم بندی بر اساس معیار همگنی بر اساس بافت (یا ویژگی های بافت) به دست می آید.

5.5.3 طرح کلی

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

روش های شناسایی خطوط (حاشیه ها) در یک تصویر را می توان به کلاس های اصلی زیر تقسیم کرد:

روش های فیلتر بالا گذر؛

روش های تمایز فضایی؛

روش های تقریب تابعی

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

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

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

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

5.5.4 روش های مبتنی بر خوشه بندی

روش K-means یک روش تکراری است که برای تقسیم یک تصویر به خوشه های K استفاده می شود. الگوریتم اصلی در زیر آورده شده است:

1. مراکز خوشه K را به صورت تصادفی یا بر اساس برخی اکتشافات انتخاب کنید.

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

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

4. مراحل 2 و 3 را تا زمان همگرایی تکرار کنید (مثلاً زمانی که پیکسل ها در یک خوشه باقی می مانند).

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

K را می توان به صورت دستی، تصادفی یا اکتشافی انتخاب کرد.

این الگوریتم تضمین شده است که همگرا شود، اما ممکن است به یک راه حل بهینه منجر نشود.

کیفیت راه حل به مجموعه اولیه خوشه ها و مقدار K بستگی دارد.

5.5.5 روش های هیستوگرام

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

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

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

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

5.5.6 روش ها برای مناطق در حال رشد

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

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

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

5.5.7 روش های برش نمودار

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

5.5.8 تقسیم بندی حوضه

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

در این تفسیر سه نوع نکته در نظر گرفته شده است:

1. حداقل محلی;

2. نقاط واقع در یک شیب، i.e. که از آن آب به همان حداقل محلی پایین می رود.

3. حداکثر نقاط محلی، یعنی. که از آن آب به بیش از یک حداقل می ریزد.

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

روش حوضه آبخیز نشانگر یکی از موثرترین روش‌های تقسیم‌بندی تصویر است.

هنگام اجرای این روش، رویه های اساسی زیر انجام می شود:

1. تابع تقسیم بندی محاسبه می شود. این مربوط به تصاویری است که در آن اشیاء در مناطق تاریک قرار دارند و به سختی قابل مشاهده هستند.

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

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

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

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

6. شرح توابع

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

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

تابع fspecial یک فیلتر دو بعدی از نوع مشخص شده ایجاد می کند.

تابع imfilter یک عملیات مورفولوژیکی برای ایجاد یک تصویر گرادیان است.

تابع Watershed یک حوزه آبخیز را از یک تصویر تبدیل می کند.

تابع label2rgb تصویر اصلی را به مقیاس خاکستری تبدیل می کند.

تابع imregionalmax تمام ماکزیمم های محلی تصویر را تعیین می کند.

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

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

توابع بازسازی و تکمیل - بازسازی تصویر با استفاده از عملیات مورفولوژیکی باز کردن (بستن.)

7. تست الگوریتم

هنگام اجرای این روش، مراحل زیر انجام شد:

1. تصویر را بخوانید و آن را به مقیاس خاکستری تبدیل کنید (شکل 1).

شکل 1. تصاویر اصلی (چپ) و نیم تنه (راست).

2. ما از مقادیر گرادیان به عنوان یک تابع تقسیم بندی استفاده می کنیم (شکل 2).

شکل 2. مقادیر گرادیان.

3. ما عملیات مورفولوژیکی را روی تصویر انجام می دهیم (شکل 3).

شکل 3. نتیجه اعمال عملیات باز-بستن مورفولوژیکی از طریق بازسازی تصویر.

4. نشانگرهای پیش زمینه و پس زمینه تصویر را محاسبه کنید (شکل 4).

شکل 4. نشانگرهای پیش زمینه (چپ) و پس زمینه (راست) یک تصویر.

5. مرزهای حوزه های آبخیز را می سازیم (شکل 5).

شکل 5. مرزهای حوزه آبخیز.

6. نشانگرها و مرزهای اشیاء را روی یک تصویر نیم تنه نمایش دهید (شکل 6).

شکل 6. نشانگرها و مرزهای اشیاء.

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

شکل 7 نتایج تقسیم بندی.

نتیجه

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

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

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

فهرست منابع استفاده شده

1. Gonzalez R., Woods R. پردازش تصویر دیجیتال. - م.: تکنوسفر، 2005. 1072 ص.

2. Pratt W. پردازش تصویر دیجیتال. - م.: میر، کتاب 1، 1361. 312 ص.

3. Yaroslavsky L.P. مقدمه ای بر پردازش تصویر دیجیتال - M: Sov. رادیو، 1979. 312 ص.

4. Pratt W. پردازش تصویر دیجیتال. - م: صلح، کتاب. 1, 1982. 480 pp.

5. http://www.ict.edu.ru/lib/

6. http://matlab.exponenta.ru/imageprocess/book2/76.php

7. Vizilter Yu.V. پردازش و تجزیه و تحلیل تصاویر دیجیتال با مثال در LabVIEW و IMAQ Vision. - م: DMK، 2011. 464 ص.

8. Gonzalez R., Woods R., Eddins S. پردازش تصویر دیجیتال در متلب. - م: تکنوسفر، 2006. 616 ص.

9. http://matlab.exponenta.ru/imageprocess/book2/48.php

10. Salomon D. فشرده سازی داده ها، تصاویر و صدا. - م.: تکنوسفر، 2004. 368 ص.

کاربرد

تصویر را می شماریم

rgb=imread("C:\Users\Name\Documents\MATLAB\picture1.jpeg");

بیایید آن را به عنوان یک نیم تن تصور کنیم

I=rgb2gray(rgb);figure,imshow(I);

مقدار گرادیان را محاسبه کنید

hy=fspecial("sobel"); hx=hy";

Iy=imfilter(double(I)، hy، "replicate");

Ix=imfilter(double(I)، hx، "Replicate");

gradmag=sqrt(Ix.^2+Iy.^2);

بیایید روش آبخیزداری را اعمال کنیم

L=حوضه(gradmag);Lrgb=label2rgb(L);

عملیات ریخت شناسی

se = strel("disk",15);

Ie = imerode(I, se);Iobr = imreconstruct(Ie, I);

ایوبرد = فرود آمدن (Iobr, se);

Iobrcbr = imreconstruct(imcomplement(Iobrd), imcomplement(Iobr));

Iobrcbr = تکمیل (Iobrcbr);

بیایید حداکثر محلی را محاسبه کنیم

fgm = imregionalmax(Iobrcbr);

بیایید نشانگرها را روی تصویر بگذاریم

I2 = I;I2(fgm) = 255;

حذف تک تک پیکسل های جدا شده

se2 = strel(ones(3,3));fgm2 = imclose(fgm, se2);fgm3 = imerode(fgm2, se2);

تعداد مشخصی پیکسل را حذف کنید

fgm4 = bwareaopen(fgm3, 20);

آن را روی تصویر اصلی قرار دهید

I3 = I;I3(fgm4) = 255;

بیایید نشانگرهای پس زمینه را محاسبه کنیم

bw = im2bw(Iobrcbr، graythresh(Iobrcbr));

اندازه گیری فاصله تا خط آبخیز

D = bwdist(bw);DL = حوزه آبخیز(D);bgm = DL == 0;

شکل، imshow (bgm)، عنوان ("bgm");

تنظیم مقدار گرادیان

gradmag2 = imimposemin(gradmag, bgm | fgm4);

L = حوضه آبخیز (gradmag2);

نشانگرها و مرزهای شی را روی تصویر منبع اعمال کنید

I4 = I;I4(imdilate(L == 0, ones(3, 3)) | bgm | fgm4) = 255;

نتیجه را با استفاده از یک تصویر رنگی نمایش دهید

Lrgb = label2rgb (L، "jet"، "w"، "shuffle");

بیایید نشانگرها و حاشیه های شی را روی یک تصویر نیمه شفاف اعمال کنیم

شکل، نشان دادن (من)، نگه دارید

himage = imshow(Lrgb);

set(image، "AlphaData"، 0.3)؛

عنوان ("Lrgb2");

ارسال شده در Allbest.ru

...

اسناد مشابه

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

    کار دوره، اضافه شده در 12/07/2013

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

    کار دوره، اضافه شده در 2017/01/18

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

    کار دوره، اضافه شده در 2016/01/20

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

    چکیده، اضافه شده در 1396/01/15

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

    پایان نامه، اضافه شده در 2008/06/23

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

    کار دوره، اضافه شده در 11/12/2012

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

    کار دوره، اضافه شده در 2015/01/27

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

    پایان نامه، اضافه شده 06/10/2013

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

    کار دوره، اضافه شده در 2013/06/17

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

تقسیم بندی حوضه رانده شده

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

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

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

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

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

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

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

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

روش حوضه آبخیز نشانگر یکی از موثرترین روش‌های تقسیم‌بندی تصویر است. هنگام اجرای این روش، رویه های اساسی زیر انجام می شود:

    تابع تقسیم بندی محاسبه می شود. این مربوط به تصاویری است که در آن اشیاء در مناطق تاریک قرار دارند و به سختی قابل مشاهده هستند.

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

    محاسبه نشانگرهای پس زمینه آنها پیکسل هایی را نشان می دهند که بخشی از اشیا نیستند.

    تغییر تابع تقسیم بندی بر اساس مقادیر مکان نشانگرهای پس زمینه و نشانگرهای پیش زمینه.

    محاسبات بر اساس یک تابع تقسیم بندی اصلاح شده.

در این مثال، متداول‌ترین توابع جعبه ابزار پردازش تصویر عبارتند از fspecial، imfilter، watershed، label2rgb، imopen، imclose، imreconstruct، imcomplement، imregionalmax، bwareaopen، graythresh و imimposemin.

  • مرحله 1: یک تصویر رنگی را بخوانید و آن را به مقیاس خاکستری تبدیل کنید.
  • مرحله 2: استفاده از مقدار گرادیان به عنوان تابع تقسیم بندی.
  • مرحله 3: برچسب گذاری اشیاء پیش زمینه.
  • مرحله 4: نشانگرهای پس زمینه را محاسبه کنید.
  • مرحله 6: تجسم نتیجه پردازش.

مرحله 1: یک تصویر رنگی را بخوانید و آن را به مقیاس خاکستری تبدیل کنید.

ما داده ها را از فایل pears.png rgb=imread("pears.png"); و آنها را به عنوان یک تصویر نیم تنه ارائه کنید. I=rgb2gray(rgb); imshow(I) text(732,501"..."،... "FontSize"، "HorizontalAlignment"، "right")

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

عملگر Sobel، تابع imfilter و سایر محاسبات برای محاسبه مقدار گرادیان استفاده می شود. گرادیان مقادیر زیادی در مرزهای اشیا و مقادیر کوچک (در بیشتر موارد) در خارج از مرزهای اشیاء دارد.

Hy=fspecial("sobel"); hx=hy"؛ Iy=imfilter(double(I)، hy، "replicate"); Ix=imfilter(double(I)، hx، "replicate"); gradmag=sqrt(Ix.^2+Iy.^2 )؛ شکل، imshow (gradmag،)، عنوان ("مقدار گرادیان")

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

L=حوضه(gradmag); Lrgb=label2rgb(L); شکل، imshow (Lrgb)، عنوان ("Lrgb")

با این حال، بدون محاسبات اضافی بیشتر، چنین تقسیم بندی سطحی خواهد بود.

مرحله 3: برچسب گذاری اشیاء پیش زمینه.

رویه های مختلفی را می توان برای برچسب گذاری اشیاء پیش زمینه استفاده کرد. در این مثال از فناوری‌های مورفولوژیکی به نام‌های «بازسازی از طریق ترمیم» و «بستن از طریق ترمیم» استفاده می‌شود. این عملیات به شما امکان می دهد با استفاده از تابع imregionalmax ناحیه داخلی اشیاء تصویر را تجزیه و تحلیل کنید.

همانطور که در بالا ذکر شد، هنگام علامت گذاری اشیاء پیش زمینه، از عملیات مورفولوژیکی نیز استفاده می شود. بیایید به برخی از آنها نگاه کنیم و مقایسه کنیم. ابتدا عملیات گسترش را با استفاده از تابع imopen پیاده سازی می کنیم.

Se=strel("disk", 20); Io=imopen(I, se); شکل، نمایش (Io)، عنوان ("Io")

Ie=imerode(I, se); Iobr=imreconstruct(یعنی، I); شکل، imshow (Iobr)، عنوان ("Iobr")

عملیات باز و بسته شدن مورفولوژیکی بعدی منجر به حرکت لکه های تیره و تشکیل نشانگرها می شود. اجازه دهید عملیات بسته شدن مورفولوژیکی را تجزیه و تحلیل کنیم. برای این کار ابتدا از تابع imclose استفاده کنید:

Ioc=imclose(Io, se); شکل، imshow (Ioc)، عنوان ("Ioc")

Iobrd=imdilate(Iobr, se); Iobrcbr=imreconstruct(imcomplement(Iobrd), imcomplement(Iobr)); Iobrcbr=imcomplement(Iobrcbr); شکل، imshow (Iobrcbr)، عنوان ("Iobrcbr")

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

Fgm=imregionalmax(Iobrcbr); شکل، imshow (fgm)، عنوان ("fgm")

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

I2=I; I2(fgm)=255; شکل، imshow(I2)، عنوان ("fgm سوار بر تصویر اصلی")

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

Se2=strel(ones(5,5)); fgm2=imclose(fgm, se2); fgm3=imerode(fgm2, se2);

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

Fgm4=bwareaopen(fgm3, 20); I3=I; I3(fgm4)=255; شکل، عنوان imshow(I3) ("fgm4 روی تصویر اصلی پوشانده شده است")

مرحله 4: نشانگرهای پس زمینه را محاسبه کنید.

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

Bw=im2bw(Iobrcbr، graythresh(Iobrcbr)); شکل، imshow (bw)، عنوان ("bw")

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

D=bwdist(bw); DL=حوضه آبخیز(D); bgm=DL==0; شکل، imshow (bgm)، عنوان ("bgm")

مرحله 5: محاسبه با استفاده از روش نشانگر حوضه بر اساس تابع تقسیم بندی اصلاح شده.

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

Gradmag2=imimposemin(gradmag, bgm | fgm4);

در نهایت یک عملیات تقسیم بندی مبتنی بر حوضه انجام می شود.

L=حوضه (gradmag2);

مرحله 6: تجسم نتیجه پردازش.

بیایید نشانگرهای پیش‌زمینه، نشانگرهای پس‌زمینه و مرزهای اشیاء تقسیم‌بندی شده را روی تصویر اصلی نمایش دهیم.

I4=I; I4(imdilate(L==0, ones(3, 3))|bgm|fgm4)=255; شکل، imshow(I4) عنوان ("نشانگرها و مرزهای اشیا روی تصویر اصلی قرار گرفته اند")

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

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

Lrgb=label2rgb(L، "jet"، "w"، "shuffle"); شکل، imshow(Lrgb) عنوان ("Lrgb")

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

شکل، imshow(I)، روی himage=imshow(Lrgb) نگه دارید. set(image، "AlphaData"، 0.3)؛ عنوان ("Lrgb روی تصویر اصلی در حالت نیمه شفاف روکش شده است")

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

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

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

دوتایی سازی با آستانه پایین تر
دوتایی سازی با آستانه پایین تر
باینریزه کردن با آستانه پایین‌تر ساده‌ترین عملیات است که فقط از یک مقدار آستانه استفاده می‌کند:

همه مقادیر به جای معیار به 1 تبدیل می شوند، در این مورد 255 (سفید) و تمام مقادیر (دامنه) پیکسل هایی که بیشتر از آستانه t - 0 (سیاه) هستند.

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

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

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

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

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

آستانه محلی
روش اوتسا
این روش از هیستوگرام توزیع مقادیر روشنایی پیکسل های تصویر شطرنجی استفاده می کند. یک هیستوگرام با استفاده از مقادیر p i =n i /N ساخته می شود، که در آن N تعداد کل پیکسل های تصویر است، n i تعداد پیکسل هایی با سطح روشنایی i است. محدوده روشنایی با استفاده از آستانه سطح روشنایی k,k به دو کلاس تقسیم می شود - یک مقدار صحیح از 0 تا L. هر کلاس مربوط به فرکانس های نسبی ω 0 ω 1 است:

سطوح متوسط ​​برای هر یک از دو کلاس تصویر:
در مرحله بعد، حداکثر مقدار برای ارزیابی کیفیت تقسیم تصویر به دو قسمت محاسبه می شود:
که در آن (σ cl)2=ω 0 ω 1 (μ 1 -μ 0) 2 واریانس بین کلاسی است و (σ کل) 2 واریانس کل برای کل تصویر است.

آستانه گذاری بر اساس گرادیان روشنایی تصویر
بیایید فرض کنیم که تصویر تجزیه و تحلیل شده را می توان به دو کلاس تقسیم کرد - اشیا و پس زمینه. الگوریتم برای محاسبه مقدار آستانه شامل 2 مرحله زیر است:
1. ماژول گرادیان روشنایی برای هر پیکسل تعیین می شود
تصاویر

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

بهترین مقالات در این زمینه