پیدا کردن تعداد objects تصویر در نرم افزار مطلب
این برنامه تنها در صورتی درست کار می کند که پشت زمینه آن تیره باشد مثلا یک صفحه مشکی با چند شکل هندسی
قسمت اول : تصویر را در مطلب لود می کند و نمایش می دهد .
قسمت دوم : rgb2gray تصویر را سیاه و سفید می کند . Threshold مرزها را مشخص می کند ، که برای این کار باید از تابع graythresh استفاده کرد . im2bw تصویر را باینری می کند .
قسمت سوم : نویز تصویر را از بین می برد . bwareaopen پیکسل های کمتر از 30 را پاک می کند و فواصل خالی (Gap) را با تابع strel پر می کند ، strel('disk',2) یک دایره به شعاع 2 تشکیل می دهد که شعاع عددی غیر منفی باید باشد و عدد وسط آن دایره را انتخاب می کند . imfill چاله ها را پر می کند و مرزها را مشخص می کند هر محدوده بسته را با holes نامگذاری می کند .
قسمت چهارم : محدوده ها را پیدا می کند مناطق مرزی را دنبال می کند و تعداد آنها را نشان می دهد . با گذاشتن noholes باعث می شود پردازش سریع تر شود . label2rgb تصویر را رنگی می کند
در انتها تعداد اشکال موجود در متغیر Count قرار می گیرد .
RGB = imread('d:\test4.jpg'); 1
figure , imshow(RGB) ,title('Orginal image')
I = rgb2gray(RGB); 2
threshold = graythresh(I);
bw = im2bw(I,threshold);
imshow(bw) , title('threshold image')
3
bw = bwareaopen(bw,30);
se = strel('disk',2);
bw = imclose(bw,se);
bw = imfill(bw,'holes');
figure , imshow(bw) , title('fill image')
[B,L] = bwboundaries(bw,'noholes'); 4
Count=length(B)
figure , imshow(label2rgb(L)),title('RGB')
سلام
ممنون از سایت مفیدتون
من دنبال یه مقاله می گردم در مورد پنهان سازی متن در تصویر یا تصویر در تصویر
ممنون میشم اگه در این زمینه کمکم کنید لطفا لینک دانلود رو واسم mailکنید
سلام ممنون میشم اگر برنامه ای را برای من شرح دهید که تعداد object های حفره دار را جدا وتعداد obgect های غیر حفره دار را جدا در یک تصویر و همینطور در یک برنامه شمارش کند .
باتشکر از شما ْپروژه ی من درباره پردازش تصویره خیلی مطلب کوتاهتون کمکم کرد ممنونتر میشم اگه چند تا مثال دیگه از متلب بهم بفرستید باتشکر مجدد