PDA

View Full Version : حذف نویز های تصویر اسکن شده برای کراپ کردن تصویر



m_yousefi1362
جمعه 13 تیر 1393, 12:22 عصر
با سلام خدمت دوستان عزیز
یه سری فایل اسکن دارم به تعداد زیاد به کمک دوستان سورsسی رو گرفتم که توان تشخیص تصویر و بریدن تصویر رو داره (نسخه C#‎‎) رو واسه دوستان قرار میدم :!
ولی مشکلی که هست وقتی تصویر اسکن شده رو به برنامه میدیم نویزیهایی در اطراف تصویر هست که کار برنامه رو مختل میکنه و قادر به حذف اضافات تصویر نیست:! داخل نمونه به این دلیل که نویز نداره برنامه کامل و درست کار میکنه :! حالا میخوام ببینم کسی میتونه در حل مشکل نویز به من کمک کنه یا نه :؟

m_yousefi1362
شنبه 14 تیر 1393, 09:36 صبح
کسی از دوستان جواب نمیده :؟ لطفا یکی کمک کنه :(

mt.mohamad
یک شنبه 05 مرداد 1393, 11:29 صبح
کسی از دوستان جواب نمیده :؟ لطفا یکی کمک کنه :(
دوست عزیز در مرحله اول بجای آستانه گیری شما میتونید بوسیله سوبل از تصویر مشتق افقی بگیرید تا لبه های عمودی تصویر مشخص شه.
بعد از برش این نواحی از تصویر مشتق عمودی بگیرید تا لبه های افقی استخراج شه.
در خر بوسیله Canyy و Findcontour کانتور های داخلی رو پیدا کرده و یکی یکی اونارو استخراج کنید

m_yousefi1362
یک شنبه 12 مرداد 1393, 20:56 عصر
ممنون
با این جواب فکر میکنم نقشه راه رو بدست اوردم ولی از اونجا که تجربه کافی در زمینه ئردازش تصویر ندارم از این روشی که توضیج میدم استفاده کردم
حالا به نظر دوستان این روشی که من استفاده کردم ایا درست هست یا خیر :!
در ابتدا با ایتفاده از فیلتر میدیا فیلتر تصویر رو نرم کردم که با این کار تصویر مات میشه در ادامه تصویر رو سیاه و سفید کردم که با این کار کادرهای مورد نضر به شکل مناسبی اماده شد در اخر تصویر رو به قسمتهای مشخص برش دادم و در اخر با ایتفاده از برنامه کادر ها رو استخراج کردم تز داخل تصویر اصلی مختصات بدست امده را برش دادم و به نتیجه نسبتا مناسبی رسیدم :!
البته فکر میکنم این روش خیلی حرفه ای نباشه ولی مشکل رو تا اندازه ای حل کردم :!
هنوز مشکلی هست و اون اینه که برخی از تصاویر به اندازه چند درجه ای انحراف داره که باید زاویه اصلاح بشه و در نتیجه تصاویر دقیقی بدست بیاد که در این مسیر اگر کمکی کنید ممنون میشم :!
منتظر نطر دوستان هستم

m_yousefi1362
یک شنبه 12 مرداد 1393, 22:03 عصر
دوست عزیز در مرحله اول بجای آستانه گیری شما میتونید بوسیله سوبل از تصویر مشتق افقی بگیرید تا لبه های عمودی تصویر مشخص شه.
بعد از برش این نواحی از تصویر مشتق عمودی بگیرید تا لبه های افقی استخراج شه.
در خر بوسیله Canyy و Findcontour کانتور های داخلی رو پیدا کرده و یکی یکی اونارو استخراج کنید
ممنون از دوست عزیز mt.mohamad (http://barnamenevis.org/member.php?295832-mt-mohamad)
اگر لطف کنید و روش مشتق گیری افقی و عمودی جهت بدت اوردن لبه های افقی و عمودی رو توضیح بدین
در ادامه کمک کند تا با استفاده از Canyy و Findcontour کانتور های داخلی رو ئیدا کنمو یکی یکی استخراج کنم تصاویر رو :)
با تشکر

مصطفی ساتکی
پنج شنبه 16 مرداد 1393, 16:13 عصر
پاسخ در اینجا (http://www.7khatcode.com/index.php?qa=5090&qa_1=%D8%A7%D8%B3%D8%AA%D8%AE%D8%B1%D8%A7%D8%AC-%D9%85%D8%AF%D8%A7%D8%B1%DA%A9-%D9%85%D8%AE%D8%AA%D9%84%D9%81-%D8%A7%D8%B2-%D8%AF%D8%A7%D8%AE%D9%84-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1-%D8%A7%D8%B3%DA%A9%D9%86-%D8%B4%D8%AF%D9%87-%D8%A7%D8%B2-%D9%85%D8%AF%D8%A7%D8%B1%DA%A9)قرار داده شده.

mt.mohamad
دوشنبه 20 مرداد 1393, 14:17 عصر
ممنون از دوست عزیز mt.mohamad (http://barnamenevis.org/member.php?295832-mt-mohamad)
اگر لطف کنید و روش مشتق گیری افقی و عمودی جهت بدت اوردن لبه های افقی و عمودی رو توضیح بدین
در ادامه کمک کند تا با استفاده از Canyy و Findcontour کانتور های داخلی رو ئیدا کنمو یکی یکی استخراج کنم تصاویر رو :)
با تشکر
برای مشتق در جهت X
Sobel(inputimage,outputimage,0,2,0);
برای مشتق در جهت Y
Sobel(inputimage,outputimage,0,0,2);
محاسبه کانتورها
; vector<vector<Point>> contourpoints
[findContours(inputimage,contourpoints,RETR_TREE,CV _CHAIN_APPROAX_SIMPLE);[/LTR)
رسم کانتورها
[LTR]
for(int i=0;i<contourpoints.size();i++)
drawContours(imageoutput,contourpoints,i,Scalar(25 5),1);


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