फसल आसान है, आपको बस एक उचित मुखौटा लागू करना है। चाल ऐसी मास्क बनाने के लिए है।
मान लिया जाये कि A
अपनी छवि है, इस प्रयास करें:
%# Create an ellipse shaped mask
c = fix(size(A)/2); %# Ellipse center point (y, x)
r_sq = [76, 100] .^ 2; %# Ellipse radii squared (y-axis, x-axis)
[X, Y] = meshgrid(1:size(A, 2), 1:size(A, 1));
ellipse_mask = (r_sq(2) * (X - c(2)) .^ 2 + ...
r_sq(1) * (Y - c(1)) .^ 2 <= prod(r_sq));
%# Apply the mask to the image
A_cropped = bsxfun(@times, A, uint8(ellipse_mask));
फसली छवि A_cropped
में संग्रहीत किया जाएगा। वांछित परिणाम प्राप्त होने तक केंद्र के निर्देशांक और त्रिज्या के मानों के साथ खेलो।
संपादित करें: मैंने आरजीबी छवियों के लिए समाधान बढ़ाया (यदि मैट्रिक्स A
3-डी है)।
स्रोत
2012-06-18 11:18:21
कृपया विस्तार से बताएं, उदाहरण, शो छवि, आदि देना ... –
आप मैन्युअल रूप से या स्वचालित रूप से चेहरे को खोजने के लिए करना चाहते हैं? –
अंडाकार कैसे दिया जाता है? 'Imellipse' का उपयोग करके डाला गया है? क्या आप इसकी ज्यामिति जान लेंगे (स्थान + प्रमुख और मामूली धुरी)? आप परिणामी 'imellipse' ऑब्जेक्ट पर' createMask' विधि का उपयोग कर सकते हैं। –