Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   نرم افزار MATLAB (http://artificial.ir/intelligence/forum64.html)
-   -   حذف پیش زمینه از تصویر (http://artificial.ir/intelligence/thread13127.html)

smkh1985 ۱۱-۲۰-۱۳۹۳ ۰۵:۰۴ بعد از ظهر

قسمت پایین رو که نمیخواین دونه دونه کات کنید. شما تصاویر را بصورت یک حلقه پردازش میکنین. سطرهای اخر هر تصویر رو حذف میکنیم.
مرحله اول کات کردن.
مرحله دوم لبه یابی
مرحله سوم fill کردن ناحیه درون.

اگه توضیحات کافیه که هیچ اگر نه یک مجموعه حداقل 100 تایی بذارین من چک کنم. کد رو براتون میفرستم .

mahsava ۱۱-۲۲-۱۳۹۳ ۰۲:۴۸ بعد از ظهر

مشکل اینه که تصاویر در یک وضعیت نیستند. یکیشون بالاتره، یکیشون پایین تره، یکیشون مورب از چپ به راسته، یکیشون برعکسه، کلا نمیشه گفت مثلا 15 ردیف آخر رو صفر کن و بعد قضیه حل بشه.

mahdiii ۱۱-۲۲-۱۳۹۳ ۰۳:۰۲ بعد از ظهر

شما لازم نیس چند خط اخرو اون کار کنین!!! فقط کافیه خط اخر تصویرو سفید کنین یعنی سطر اخر تصویر اون طوری باعث میشه یه جزع متصل داشته باشین که همون دسته که با لبه ها به دست اومده و با دستور imfill داخلش پر میکنه با سفید همین!

smkh1985 ۱۱-۲۲-۱۳۹۳ ۰۷:۱۲ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله mahdiii (پست 34643)
شما لازم نیس چند خط اخرو اون کار کنین!!! فقط کافیه خط اخر تصویرو سفید کنین یعنی سطر اخر تصویر اون طوری باعث میشه یه جزع متصل داشته باشین که همون دسته که با لبه ها به دست اومده و با دستور imfill داخلش پر میکنه با سفید همین!

این رو من متوجه نشدم ؟؟؟
سطرهای پایین تصویر اصلی رو سفید کنن یا سطر های پایین تصویر حاصل از لبه یابی رو ؟؟؟
اگه دومی منظورتون هست که این کار باعث میشه علاوه بر ناحیه دست یک نوار سفید رنگ هم تو خروجی داشته باشن که رو مراحل بعدی اثر میگذاره . اگه تو تصویر اصلی مد نظرتون هست که باز این نوار منجر به ایجاد یه لبه مصنوعی میشه که مجددا بعدا منجر به نقص الگوریتم میشه.

mahdiii ۱۱-۲۲-۱۳۹۳ ۰۸:۲۴ بعد از ظهر

فقط سطر اخرو !!! با این کار باعث میشه کانتور دست بسته بشه و بشه داخلشو پر کرد بعد که این کار انجام شد شما سطر اخر تصویرو کلا حذف کنین به همین راحتی

mahdiii ۱۱-۲۲-۱۳۹۳ ۰۹:۱۸ بعد از ظهر

clc
clear all
close all
%%
image=imread('1.jpg');

%%
image=image(:,:,1);
[row,col]=size(image);

figure;imshow(mat2gray(image));
%%
ee=edge(image,'canny',[0.1,0.9]);
figure;imshow(mat2gray(ee));

ee(end,:)=1;
ff=imfill(ee,'holes');


ff(end,:)=0;
figure;imshow(mat2gray(ff));
%%


اینم نتیجه بفرمایید..

mahsava ۱۱-۲۴-۱۳۹۳ ۰۸:۲۸ بعد از ظهر

ممنون از توضیحات دوستان.
من فکر می کنم باید اون لبه های پایین تصویر رو اول حذف کنم ولی نمی دونم با چه فیلتری این کار رو انجام بدم. فیلترهای میانه، میانگین، گاوسین و ترکیب های مختلف اون ها رو امتحان کردم. هیچ کدوم جواب نداد. به نظر شما اون لبه ها رو چطور میشه حذف کرد (تو این پروژه مهمه که همه چیز به طور الگوریتمی و هوشمند انجام بشه)؟ فکر می کنم حذفش به شدت باعث بهبود تصویر بشه و روش های آستانه یابی و لبه یابی هر دو نتیجه های قابل قبولی بدن.

mahsava ۱۱-۲۴-۱۳۹۳ ۰۸:۳۵ بعد از ظهر

مشکل اینه که تو بعضی از تصاویر کانتور دست اصلا به اون ردیف های پایین نمی رسه. علتش هم لبه های غیرواقعی پایین تصویره که شبیه سایه هستند.

mahdiii ۱۱-۲۴-۱۳۹۳ ۱۱:۵۶ بعد از ظهر

شما تصاویر خرابو بزار اینجا .. با توضیحات در مورد تصویر نگو/ بدون دیدن نمیشه نظر داد. اون کد منو اجرا کردی؟
تشکر هم بدین خوبه ها بد نیس!

mahsava ۱۱-۲۵-۱۳۹۳ ۰۱:۴۰ قبل از ظهر

بله کدتون رو اجرا کردم. برای تعدادی از تصاویر خوبه و برای تعدادی نصف تصویر رو کلاحذف کرده و به پر کردن ناحیه نمی رسه. مقدار آستانه ی لبه یاب "کَنی" باید احتمالا به طور وفقی تعیین بشه.
حالا من رو عددش کار می کنم. باز اگه جواب نداد برای نمونه اینجا تصویر می ذارم.


زمان محلي شما با تنظيم 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.