में ग्रेस्केल है या नहीं, मैं एक फ़ंक्शन लिख रहा हूं जो एक छवि ले सकता है और विशिष्ट चिकनाई कार्य करता है। मेरी समारोह के बहुत शुरुआत में मैं pic = rgb2gray(pic);
यह निर्धारित करें कि कोई छवि Matlab
मैं समारोह किसी भी छवि लेने के लिए (भले ही इसके पहले से ही ग्रेस्केल) की अनुमति के लिए आशा करती हूं कि का उपयोग कर एक ग्रेस्केल छवि के लिए छवि परिवर्तित। मैटलैब में, अगर मैं इसे एक ग्रेस्केल छवि पास करता हूं तो वर्तमान में त्रुटियां होती हैं क्योंकि यह इसे परिवर्तित नहीं कर सकती (जो स्पष्ट है)।
क्या कोई अंतर्निहित फ़ंक्शन या छवि का परीक्षण करने और उसका रंग प्रारूप निर्धारित करने का एक आसान तरीका है?
मैं isRGB और isGrayscale कार्यों के बारे में गूगल पर कुछ पढ़ा लेकिन वे मैटलैब के बाद के संस्करणों से हटा दिया गया है ...
मैं कुछ इस तरह सोच रहा हूँ अगर यह एक समारोह में बनाया गया था शांत हो जाएगा।
if (pic == RGB)
do
.
.
.
elseif (pic == GrayScale)
do
.
.
.
else
do
.
.
.
यदि नहीं, तो शायद मैं एक समारोह है कि एक pixel x,y
लेता है और अपने मूल्य परीक्षण लिख सकता है?
if (p(x,y) == ....
या कुछ? मुझे यकीन है ... विचार?
size(pic, 3) = 3
ग्रेस्केल के लिए::
यह समझ में आता है। जिज्ञासा से, 'आकार (तस्वीर, 3) = 2' के लिए क्या उपयोग किया जाएगा? क्या कोई अन्य रंग प्रारूप है जिसमें मुझे शामिल करना चाहिए? – Reanimation
सिद्धांत में आप किसी भी चैनल के 2, निश्चित रूप से, या 3 से अधिक ([हाइपर स्पेक्ट्रल इमेजिंग] (http://en.wikipedia.org/wiki/Hyperspectral_imaging) की छवियां प्राप्त कर सकते हैं। अभ्यास में, रंग छवियां 3 या 4-चैनल ([रंग रिक्त स्थान] (http://en.wikipedia.org/wiki/Color_space#Partial_list_of_color_spaces) हैं। आपके कोड के आधार पर, आपको किसी भी प्रकार की छवि से निपटने में सक्षम होने के लिए सरणी (गहराई) के तीसरे आयाम पर बेहतर लूप होना चाहिए। – Milo