![]() |
تشخيص رقمهاي يك عكس
سلام دوستان
ميشه لطفا راهنمايي كنيد: من يه عكس دارم كه ميخام تشخيص بدم رقمهاي اين عكس چي هست. عكس هم واضح هست و فقط شامل چندتا رقم هست مثلا 1234 ممنون |
1(ها)ضميمه
نقل قول:
این فایل رو بخونید در ضمینه آنالیز اجزای اصلی (principal components analysis) هست:15: در همون رابطه پردازش تصاویر البته از صفحه 9 به بعد مربوط میشه بازیاببی داده ،همه چیزو نوشته البته داخل انجمن هست ولی دیگه حس ش نبود آدرسشو پیدا کنم و صرفا آدرس رو بدم آپ کردم چون اینجور شما هم راحت هستی |
ممنون
اما چيز زيادي دستگيرم نشد. ببينيد من يه تصوير دارم كه توش فقط اعداد هستند. حالا ميخام تشخيص بدم كه چه عددهايي هستند. مثلا شكل تصوير من اينه: 1234 و من بايد اعلام كنم هزارودويست و سي و چهار. ممنون ميشم راهنمايي بفرماييد. |
|
بسيار ممنون
من به دنبال الگوريتم هاي بهينه از اين روش هستم اگر راهنمايي بفرماييد ممنون ميشم. |
3(ها)ضميمه
نقل قول:
موضوع ارائه شیوه من او سی آر بود که هفته قبل تحویل دادم.تو این پاور پوینتم از 10تا مقاله انگلیس و فارسی استفاده کردم. 1- فایل ضمیمه اول یه پوشه است که حاوی پاور پوینت ocr و فایل های ((2003)doc برای تشریح جزیئات آن) 2- فایل ضمیمه دوم مقاله های مورد استفاده(منابع) 3- فایل ضمیمه سوم برنامه و ديتابيس كامل تشخيص ارقام دست نويس فارسي (hcr) با شبكه هاي عصبي mlp لینک 1 سورس کد یک پروژه پردازش تصویر لینک 2 سورس کد یک پروژه پردازش تصوی2 لینک 3 سورس کدهای پردازش تصویر به زبانهای ASP.NET و C# .NET و VB6 و C/C++ برای قالب عکسهای GPEG , BMP , GIF اینهارو با دقت برسی کنید.هم نمونه سورس کد از ocr گذاشتم و هم پردازش تصویر. |
سلام به همگی اگه ممکنه منو هم راهنمایی کنید :
مشکل من تشخیص اشکال مثل مربع و دایره و ستاره در تصویر است ممنون میشم نمونه کد بدید با تشکر فراوان |
اگه اشکالتون همین چندتاست خیلی راحت می تونید اونارو از هم تشخیص بدین. ساده ترینش اینه که نسبتی رو محاسبه کنید به صورت زیر:
4*pi*A/P^2 که P محیط شکل و A مساحت اون هست. براحتی می تونید این مقدارو برای دایره محاسبه کنین که میشه 1. برای مربع میشه pi/4 و برای ستاره هم می تونید محاسبه کنید. بنابراین ابتدا مساحت و محیط شکلتونو محاسبه می کنید و بعدش این نسبتو. به هر کدوم از این اعداد نزدیکتر بود نوعش مشخص میشه. اگه به یک نزدیکتر بود دایرست و همین طور الی آخر. راه دیگش محاسبه نسبت مساحت شکل به مساحت مستطیلی هست که اونو دربرگرفته که برای مربع و مستطیل میشه یک و برای دایره نزدیک به یک میشه و برای ستاره مقداری نزدیک به 0.5. راه حلها بسیار زیادن به همین دلیله که من از پردازش تصویر خیلی خوشم میاد :-) اگه اشکالتون پیچیده باشه و تعدادشون بیشتر می تونید از روشهای توصیفگر شکل استفاده کنید که از جمله معروفترین آنها می تونم به تبدیل فوریه، تبدیلات متعامد و زرنیک، گشتاورها و موارد دیگه اشاره کنم. بهتره برای فهمیدن این روشها یک کتاب مرجع رو بخونید مثل گونزالس فصل shape representation and description تو اینترنتم جستجو کنید مطلب بسیاره مثلا جستجو کنید: shape representation using fourier یه روش دیگه که به نظرم اومد بگم بهتره اینه که فاصله هر کدوم از پیکسلهای شی یا پیرامون اونو تا مرکز ثقلش محاسبه می کنیم و بعد با نرمالیزه کردن اون و محاسبه بافت نگارش تعیین می کنیم مربوط به چه شکلیه. |
تشکر و راهنمایی مجدد
دوست عزیز از راهنمایی شما بسیار ممنون بسیار مفید واقع شد
مشکل اصلی من اینکه زیاد در مورد پردازش تصویر کار نکردم در حد فیلتر گزاری و تغیر رنگ و . . . اما الان جداکردن اشکال در تصویر و تشخیص اونها به روشی که شما گفتید فکر کنم 1-باید شکلها تفکیک کنم 2- محیط و مساحت اونها رو اندازه بگیرم 3-طبق نسبتها تشخیص بدم چی هستن. با عرض شرمندگی شماره 3 با راهنمایی شما حل شد ولی 1و2 به قوت خود باقیسست با تشکر فراوان از توجهتون. |
اگه تصویرتون سیاه و سفید باشه که شکلهاتون سفید و پس زمینه سیاهه می تونید از تابع های bwlabel,bwlabeln,bwconncomp استفاده کنید. این توابع یک تصویر دودویی را به عنوان ورودی می گیرند و پیکسلهایی که مربوط به یک شی هستند را جداگانه برمی گردانند. تاکید می کنم که باید اشکال دارای مقدار سفید یعنی 1یا255 باید باشند و پس زمینه سیاه یعنی صفر. اگر تصویر ورودیتان دودویی نبود باید با یک مقدار آستانه آن را دودویی کنید که بسته به تصویر انتخاب می شود. بنابراین پیکسلها با مقدار بیشتر از T به رنگ سفید و کمتر از آن به رنگ سیاه تبدیل می شود.
پس باید از این تابع به این شکل استفاده کنید: CC=bwconncomp(image) CC همان چیزی که تابع برمی گرداند از نوع ساختار است که دارای فیلدهایی است. CC.PixelIdxList خود از چندین نوع داده cell تشکیل شده که هر کدام از این cell ها دارای شماره پیکسلهای یکی از نواحی متصل است. بنابراین شما می توانید با استفاده از CC.PixelIdxList{1} به اولین ناحیه متصلتان دسترسی پیدا کنید و همین طور برای شماره های 2و3و الی آخر. اگر جایی نیاز به کمک بود می تونید از help متلب کمک بگیرید خیلی کامله فقط باید اسم تابع رو جستجو کنید. در ضمن باید بگم شماره های پیکسلها داخل این cell ها شماره پیکسلهای تصویرتون هست به طوریکه تصویرتون به یک بردار ستونی تبدیل شده. برای یافتن مساحت و محیط و خیلی چیزای دیگه می تونید از تابع regionprops استفاده کنید. regionprops(CC,'Area') regionprops(CC,'Premiter') که CC همان ساختاری است که تابع bwconncomp برگردانده بود. موفق باشی |
زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۱۱:۴۲ بعد از ظهر ميباشد. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.