پردازش تصویر
سلام خسته نباشید
یه سوال داشتم میخواستم بپرسم چطوری میشه یه عدد مثلا 5 رقمی رو از داخل یه عکس اسکن شده خوند؟
یعنی داخل یه عکس اسکن شده یه قسمتیش نوشته 123456 و به رشته تبدیل کنم داخل یه متغیر ذخیرش کنم
ممنون اگه کسی بتونه راهنماییم کنه
فقط میدونم با opencv اینکارو میکنن معمولا ولی خب نمیدونم چطوری و با استفاده از کدوم کلاس ها
7 پاسخ
تو نرم افزار لب ویو قابلیت تغییر نام خوده عکس هست چون میخاوم عکسمو با نام همون شماره ایبی که میخونه تغییر نام بدم
با سلام.
برای خوندن کاراکتر از تصویر (ocr) شما باید از روشهای معرفی شده یا یک روش ابتکاری استفاده کنی،مثلا شبکه عصبی.
ولی قبل اینکه بخوای تصویریت رو بدی برا ocr باید یک سری پیش پردازش ها روش انجام بدی.
اون کاراهایی که من برای کار خودم انجام داده بودم به این صورت بود.
1-دریافت تصویر رنگی
2-تبدیل به تصویر خاکستری
3-کاهش نویز تصویر
4-تبدیل تصویر به باینری (سیاه و سفید)
5-علامت زدن و پیدا کردن اشیایی موجود تو تصویر
6-انتخاب اشیایی مورد نظر و ارسال به شبکه عصبی برا ocr
خب ،میرسیم سر سوال شما که از کدوم کلاس ها باید استفاده کرد.
بهتره بگیم از کدوم متدها
برای هر کدوم از کارهای زیر متد های تعریف شده،گاهی با ترکیب چند متد باید به نتیجه برسیم.
به عنوان مثال برای باینری کردن تصویر ممکنه متد معرفی شده توسط opencv جواب گوی کار شما نباشه و شما مجبور بشین برای بدست آوردن نتیجه مطلوب از ترکیب چند متد استفاده کنید.
به طور مثال این سه خط کد کار گزینه های 1 و 2 و 4 را انجام میدن.زبان سی شارپ
Image<Bgr, byte> img = new Image<Bgr, byte>("c:\\1.jpg");//خواندن تصویر Image<Gray, byte> img_gray = img.Convert<Gray, byte>();//تبدیل تصویر به خاکستری //تصویر باینری CvInvoke.cvAdaptiveThreshold(img_gray, img_gray, 255.0, Emgu.CV.CvEnum.ADAPTIVE_THRESHOLD_TYPE.CV_ADAPTIVE_THRESH_MEAN_C, Emgu.CV.CvEnum.THRESH.CV_THRESH_BINARY,5, 1.2d);
عکس شما دارای نویز هست؟
سلام نه نویز نداره یه عکس سیاه سفیده خیلی ساده هست با پشت زمینه سفید
فقط نمیدونم چجوری باید بخونمش و نصب opencv هم نتونستم انجام بدم فعلا یکم مشکل دارم تو نصب opencv
ممنون میشم راهنمایی کنید یا اگه قطعه کدی جهت آموزش دارید آپلود کنید تا هم هم بقیه دوستان استفاده کنن
اگه منظورت خوندن کپچا سایت هستش این مقاله انگلیسی خیلی کمکت میکنه.
نه کپچا نمیخوام بخونم
میخوام از تو یه عکسی که اسکن شده عدد داخلشو برش بزنم و بعد اون عددو تشخصی بدم چیه و تو پایگاه داده ذخیره کنم و عکسمم با همون عدد ذخیره کنم
من از اپن سی وی برای پردازش استفاده نمیکنم اما برای این کار باید بیای از هر رقم یک تمپلیت تهیه کنی بعد بیای تطبیق بدی و بر اساس مهل قرار گیری هر تمپلیت میتونی عدد رو تشخیص بدی مثلا برای تشخیص عدد ؛۱۲۳ ؛ شما میای موقعیت تمپلیت ها تو پیدا میکنی و بعد میفهمی که دعدد چیهست من برای این کار از لب ویو استفاده میکنم