PDA

View Full Version : گفتگو: تبدیل عکس به متن (OCR)



system32
سه شنبه 26 خرداد 1388, 20:19 عصر
دوستان این تاپیک راه انداختم تا بقیه هم مثل من با این موضوع بیشتر آشنا شوند. من خودم یک مقاله کوچیک در این باره می زارم. لطفا اگر دوستان هم در این زمینه مطلب یا کامپوننت یا نظری دارند بزارند. در این راستا امیدوارم به جواب این سوالم برسم: می خواهم کاری کنم تا متن جایی که ماوس روی آن قرار داره برگردونه. (چه عکس باشه چه متن) مثل بابیلون.

OCR كه سررشته كلمات Optical Character Recognition مي باشد، به تكنيكي اطلاق مي شود كه در طي آن يك برنامه كامپيوتري متون موجود درتصاوير ديجيتالي را شناسايي كرده و آنها را به صورت خودكار به فايلهاي متني قابل ويرايش تبديل مي كند.

لزوم استفاده از OCR
فرض كنيد شما يك متن كاغذي مانند نام، قرارداد، RFP، مقاله، كتاب و ... را در اختيار داريد و بايد آن را وارد كامپيوتركنيد تا در مطالعات خود يا تهيه گزارشات و ... مورد استفاده قرار دهيد.

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

فناوريOCR
چنانچه فرآيندOCR رابه صورت يك (Black Box) در نظر بگيريم ورودي آن تصوير سند مورد نظر و خروجي آن فايل ديجيتالي قابل ويرايش از اطلاعات سند (مثلاً به فرمت MS- Word) مي باشد.
http://www.farsiocr.com/images/ocr_inout.PNG
شكل زير فرآيند OCR را با جزئيات بيشتري نشان مي دهد. در اين شكل مراحل مختلف OCR كه به صورت جعبه سياه معرفي شده بودند ، تشريح شده است:
http://www.farsiocr.com/images/ocr_process.PNG

منبع: http://www.farsiocr.com/whatisocr (http://www.farsiocr.com/whatisocr)

system32
چهارشنبه 27 خرداد 1388, 00:52 صبح
دوستان اینم یه فایل آموزشی در این زمینه. لطفا در این بحث شرکت کنید حتما روزی به درد خودتون هم می خوره. :چشمک:

system32
چهارشنبه 27 خرداد 1388, 11:18 صبح
دوستان اینم چندتا تاپیک که در این مورد یه بحث هایی کردند که اکثرا هم به نتیجه نرسیده اند پس بیایید اینبار ما این بحث را به یک جایی برسانیم.

http://barnamenevis.org/forum/showthread.php?p=720979
http://www.barnamenevis.org/forum/showthread.php?t=49920
http://www.barnamenevis.org/forum/showthread.php?p=732070
http://www.barnamenevis.org/forum/showthread.php?t=14327
http://www.barnamenevis.org/forum/showthread.php?t=40433
http://barnamenevis.org/forum/archive/index.php/t-19979.html

system32
چهارشنبه 27 خرداد 1388, 15:32 عصر
دوستان کسی تا حالا کلمه OCR به گوشش نرسیده. بابا یه جوابی بدین یکم دلم خوش بشه.

13601360
چهارشنبه 27 خرداد 1388, 15:39 عصر
این مقاله هم نگاه کنید

[/URL]
[URL="http://www.devsource.com/c/a/Languages/Using-The-Office-2007-OCR-Component-in-C/"]Using The Office 2007 OCR Component in #C (http://www.devsource.com/c/a/Languages/Using-The-Office-2007-OCR-Component-in-C/)

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

system32
پنج شنبه 28 خرداد 1388, 14:32 عصر
اینم یه کامپوننت در این زمینه. اگه دوستان در این بحث شرکت کنند کامپوننت های بیشتری را معرفی می کنم. فقط اگه کسی تونست با این کامپوننت برنامه ای بنویسید ما را هم بی نصیب نزاره. ممنون.

13601360
پنج شنبه 28 خرداد 1388, 14:50 عصر
این دوتا لینک هم هست


http://www.codeproject.com/KB/showcase/SearchablePDFs.aspx

http://www.codeproject.com/KB/office/modi.aspx

dehghanimeh
پنج شنبه 28 خرداد 1388, 14:59 عصر
نرم افزاری دیدم که برای تشخیص متن در عکس از کتابخانه معرفی شده در
تاپیک زیر استفاده می کنه
http://barnamenevis.org/forum/showthread.php?t=164596

system32
پنج شنبه 28 خرداد 1388, 17:42 عصر
دوستان کسی فایل تصویری با پسوند قابل تشخیص برای OCR سراغ داره. آخه می گند فقط پسوند های خاصی را قبول می کنه. اگه اشتباه می کنم بگین. لطفا یکی بدین چون می خوام یک دمو را امتحان کنم.

system32
پنج شنبه 28 خرداد 1388, 20:37 عصر
دوستان ببینید کسی می تونه از این دمو (exe) نتیجه بگیره و عکس را تبدیل به متن کنه. اگه تونستید لطفا یک نمونه از اون عکستون را بزارید بقیه هم استفاده کنند. لطفا اینجا کسی دیگه خسیس بازی درنیاره. مسئله حیاتیه؟؟؟؟؟؟؟:چشمک:

adinochestva
پنج شنبه 28 خرداد 1388, 20:43 عصر
می تونید از Tessnet .net استفاده کنید ocr library
http://www.pixel-technology.com/freeware/tessnet2/

system32
پنج شنبه 28 خرداد 1388, 20:59 عصر
نظر دوستان چیه؟

تا حالا شد دو تا:

1- Tessnet .net
2- modi

به نظر شما کدامیک بهتره؟؟؟:چشمک:

13601360
پنج شنبه 28 خرداد 1388, 21:00 عصر
من دمو رو روی یه متن انگلیسی تست کردم جواب داد فارسی هم که مسلم نه :افسرده:

system32
پنج شنبه 28 خرداد 1388, 21:02 عصر
دوست من خواهش می کنم متن انگلیسی رو برای منم بزار تا من هم تستش کنم. خیلی ممنونم.

13601360
پنج شنبه 28 خرداد 1388, 21:09 عصر
خودت هم می تونی
من از یه فایل pdf پرینت اسکرین گرفتم و بوسیله paint با فرمت tif ذخیره کردم ....
با این حال

system32
پنج شنبه 28 خرداد 1388, 21:15 عصر
ممنون از شما. من هم تو ورد یه متن نوشتم و تو نقاشی ذخیرش کردم. البته به دوستان بگم حرف قبلیم را پس می گیرم. که گفته بودم یه پسوند خاصی رو قبول می کنه. هر پسوندی رو قبول می کنه. خودم هم امتحانش کردم. جواب داد. حالا دوستان کسی می تونه به سوال اولم جواب بده یعنی می خواهم کاری کنم عین بابیلون. یعنی متن جایی که ماوس روی آن قرار داره را برگردونه. ممنون می شم کمکم کنید.

dehghanimeh
پنج شنبه 28 خرداد 1388, 21:48 عصر
به نظر من ابتدا از کل صفحه یک عکس بگیرید(Screenshot)
سپس قسمت زیر موس را برش بدید
در نهایت اون رو پردازش کنید
میشه لطف کنید لینک سورس مثال بالا رو بزارید

system32
جمعه 29 خرداد 1388, 00:05 صبح
اینم لینکش:

http://www.codeproject.com/KB/office/modi.aspx (http://www.codeproject.com/KB/office/modi.aspx)

csharp2008
یک شنبه 03 آبان 1388, 20:52 عصر
کلا کار همتون درسته ... مرسی

ir.start
پنج شنبه 07 آبان 1388, 14:25 عصر
دوستاني كه در مورد ocr جستجو ميكنن اين برنامه رو هم ببينيد از modi توش استفاده شده
يك سوال هم دارم كه هنوز بيجواب مونده ايا يك فايل تصويري كه فقط اعداد فارسي توش هست رو با اين برنامه به فايل متني برگردوند
تو برنامه يك قسمت هست كه ميشه زبان هايي كه تبديل براشون امكان داره رو مشخص كرد منظورم منوي
edit و گزينه انتخاب پارامتر ها هست ولي با وجود اينكه زبان مورد نظرم رو تو كنترل پنل فارسي گذاشتم
برنامه ايراد گرفت كه زبان مورد نظر رو نميتونه تبديل كنه
البته شايد هم من درست اين گزينه ها رو تنظيم نكردم ؟

ir.start
پنج شنبه 07 آبان 1388, 14:30 عصر
private void button1_Click(object sender, EventArgs e)
{
string strText = "";

// Instantiate the MODI.Document object
MODI.Document md = new MODI.Document();
// The Create method grabs the picture from
// disk snd prepares for OCR.
md.Create(@"c:\ii.BMP");

// Do the OCR.
md.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, false,false);

// Get the first (and only image)
MODI.Image image = (MODI.Image)md.Images[0];

// Get the layout.
MODI.Layout layout = image.Layout;

// Loop through the words.
for (int j = 0; j < layout.Words.Count; j++)
{
// Get this word.
MODI.Word word = (MODI.Word)layout.Words[j];
// Add a blank space to separate words.
if (strText.Length > 0)
{
strText += "";
}
// Add the word.

strText += word.Text;
}
// Close the MODI.Document object.
MessageBox.Show(strText);
md.Close(false);
}

اين يك نمونه ساده تر همون برنامست اين كد مد نظر منه


md.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, false,false);

تو اين برنامه اگه اعداد درون عكس انگليسي باشه مشكلي نيست اما اگه فارسي يا عربي باشه درست جواب نميده لطفا راهنماييم كنيد

system32
شنبه 09 آبان 1388, 09:14 صبح
دوست عزیز.
تا اونجا که من می دونم هنوز OCR ای تهیه نشده که بتونه تصویر متن فارسی یا عربی رو به متن قابل ویرایش تبدیل کنه. تا نظر دوستان دیگه چی باشه.

موفق باشید.

ir.start
شنبه 09 آبان 1388, 11:14 صبح
ممنون كه جواب دادين
اما اين برنامه Readiris Pro 11 كه ازسايت اسان دانلود گرفتم اين كار رو ميكنه اگرچه كه خيلي خوب در نمياد ولي براي من كه فقط ميخواهم يك عكس كه فقط حاوي يك عدد هست رو تبديل كنم كفايت ميكنه
ولي من ميخواهم تو برنامه خودم اين كار رو بكنم

ir.start
شنبه 09 آبان 1388, 11:42 صبح
يك سوال ديگه
ايا كامپوني هست كه يك عكس بصورت باركد بهش بدي و عدد مربوط به ميله هاي باركد رو برگردونه يعني بگه فلان تصوير مساوي ميشه با عدد مثلا 123456 البته استاندارد باركد كد 39 هستش ولي ميتونم اون رو به 128 يا EAN هم تغييربدم