باسلام
چگونه می تونم این تصویر را به هر روشی که مناسب میدانید تقطیع کنم و بعد از برچسب گذاری اجزا، سعی کنم با استخراج ویژگی‌های مناسب از تصویر باینری، دایره ها، مربع ها و مثلث ها را از یکدیگر جدا کنم و محل هر یک را مشخص کنم. 
باتشکر


مهمان عزیز شما حق دیدن لینک ها را ندارید
عضویت
امیدوارم این روش به کارتون بیاد,البته فکر کنم روش
K-means
هم به کارتون بیاد
مرحله اول: خواندن تصویر
کد:
I = imread('pic.tif'); figure, imshow(I), title('original image'); text(size(I,2),size(I,1)+15, ...     'Image courtesy of Alan Partin', ...     'FontSize',7,'HorizontalAlignment','right'); text(size(I,2),size(I,1)+25, ....     'Johns Hopkins University', ...     'FontSize',7,'HorizontalAlignment','right');
مرحله دوم : تشخیص سلول های تصویر
کد:
[~, threshold] = edge(I, 'sobel'); fudgeFactor = .5; BWs = edge(I,'sobel', threshold * fudgeFactor); figure, imshow(BWs), title('binary gradient mask');
مرحله سوم:منبسط کردن تصویر
کد:
se90 = strel('line', 3, 90); se0 = strel('line', 3, 0);
کد:
BWsdil = imdilate(BWs, [se90 se0]); figure, imshow(BWsdil), title('dilated gradient mask');
مرحله چهارم : پر کردن شکاف های داخلی
کد:
BWdfill = imfill(BWsdil, 'holes'); figure, imshow(BWdfill); title('binary image with filled holes');
مرحله پنجم:حذف لبه ها
کد:
BWnobord = imclearborder(BWdfill, 4); figure, imshow(BWnobord), title('cleared border image');
مرحله ششم:صاف کردن تصویر
کد:
seD = strel('diamond',1); BWfinal = imerode(BWnobord,seD); BWfinal = imerode(BWfinal,seD); figure, imshow(BWfinal), title('segmented image');
و در آخر 
کد:
BWoutline = bwperim(BWfinal); Segout = I; Segout(BWoutline) = 255; figure, imshow(Segout), title('outlined original image');