PDA

View Full Version : تشخیص حروف فارسی از روی عکس با سی شارپ



arastoahmadi
یک شنبه 14 اردیبهشت 1399, 11:47 صبح
سلام به همه دوستان عزیز

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

محمد رضا فاتحی
یک شنبه 14 اردیبهشت 1399, 18:52 عصر
سلام اصلا کار ساده ای نیست... حداقل چند سال کار با یه تیم فوق حرفه ای می خوای...در مورد پردازش تصویر و OCR تحقیق کنید

ShayanFiroozi
یک شنبه 14 اردیبهشت 1399, 19:39 عصر
سلام دوست عزیز ،

اگر حتما باید با C#‎‎ کار کنین باید بدونین برای اینکار بسیار ضعیف و کم انعطافه. درسته که کتابخانه EmguCV (http://www.emgu.com/wiki/index.php/Main_Page)که مخصوص پردازش تصویر در محیط های .NET هست یه سری قابلیت ها در اختیار شما میزاره ولی باید بدونین به سختی قدرت و سرعتش به معروفترین کتابخانه پردازش تصویر OpenCV (https://opencv.org/)میرسه.

برای اینکه دستتون باز باشه شما باید با Visual C++‎‎ کار کنین ، OpenCV به شما اجازه میده تقریبا هزاران تابع آماده و پرسرعت رو بر روی تصویرتون پیاده کنین ، هم CPU Based هستش هم GPU Based.

بنده حدود 2 سال با OpenCV کار کردم و پروژه های صنعتی زیادی هم نوشتم ، مثل تشخیص اشیاء ، تردد شمار خودرو و خط تولید و غیره...

اما در خصوص کار با پروژه شما که تشخیص حروف هستش باید بگم همونجور که دوستمون فرمودند کار بسیار پیچیده ای هستش ، اما اگر در حد پروژه دانشجوئیه میشه با OpenCV پیادش کرد ولی اگر صنعتی باید بگم حتی توابع OpenCV هم برای این کار ضعیف هستند و شما باید به سراغ Machine Learning و MLP و شبکه های عصبی برید که واقعا هم آدم عصبی میشه !! :عصبانی++:

** نکته مثبت : شما میخواین با عکس کار کنین که این خیلی خوبه و راحت تره ، اگر ویدئو بود خیلی درد سر داره ، دریافت فریم های متوالی از دوربین با پروتکل RTSP و با استفاده از کتابخانه VLC (https://www.videolan.org/index.html)خودش به تنهایی میتونه آدم رو دیوانه کنه.


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

شما باید حد اقل 10،000 حرف و عدد فارسی در اشکال مختلف رو جمع آوری کنین که به اون دیتاست میگن ، بعد OpenCV این تصاویر شما رو Train میکنه که با یه سرور HP قوی شاید 1 هفته زمان ببره !
بعد از اون یه فایل خروجی داره که به شکل خیلی خیلی ساده و نه صنعتی و کاربردی حروف و اعداد فارسی رو در تصویر شناسایی کنه.


و اما اگر پروژه شما کاربردی-صنعتی هستش قویا پیشنهاد میکنم بیخیال بشین !!

کار با شبکه های عصبی ، OpenCV ، VLC ، MLP ، جمع آوری دیتاست ، Train کردن داده ها، واقعا سرسام آوره و اونم در C++‎‎.

همه اینا برای بنده 4 تا 5 سال زمان برد و شد پروژه کاربردی - صنعتی پلاکخوان خلیج فارس (https://www.aparat.com/v/O7azm) که میتونین نمونشو ببینین و رایگان دانلود کنین.


دانلود نسخه تریال 60 روزه پلاکخوان خلیج فارس همراه با ویدئو دمو (http://s11.picofile.com/file/8395890684/_LNPR_Trial_Setup_3_7_99_213.exe.html)