2012-03-30 12 views
5

के माध्य मैं उन्हें तुलना करने के लिए मैं comaprison के लिए ग्रेस्केल बीएमपी छवि का उपयोग कर रहाविचरण और छवि

image=imread("image name") 
M = mean(image(:)) 
V = var((image(:))) 

इस गणना में मतलब/var के लिए सही तरीका क्या है मतलब और अपने मूल और stego छवि के विचरण की गणना कर रहा हूँ MATLAB? मेरे विचरण मतलब की तुलना में अधिक हो रही है ..

सराहना की कोई मदद ..

उत्तर

8

ये वास्तव में अपनी छवि के सभी पिक्सल से अधिक मतलब और विचरण गणना करने के लिए सही तरीका है।

यह असंभव नहीं है कि आपके विचरण मतलब के रूप में दोनों निम्नलिखित तरीके से परिभाषित कर रहे हैं से भी बड़ा है:

mean  = sum(x)/length(x) 
variance = sum((x - mean(x)).^2)/(length(x) - 1); 

उदाहरण के लिए, यदि आप randn(N,1) के साथ एक मानक सामान्य वितरण से शोर उत्पन्न करते हैं, आप मिल जाएगा N नमूने, और यदि आप माध्य और भिन्नता की गणना करते हैं, तो आपको लगभग 0 और 1 मिल जाएगा। तो साथ ही, आपका भिन्नता माध्य से भी बड़ा हो सकता है।

दोनों का एक अलग अर्थ है: मतलब आपको एक विचार देता है जहां आपके पिक्सल हैं (यानी वे सफेद, काले, 50% ग्रे, ...) हैं। इसका मतलब आपको पूर्ण छवि के रंग को सारांशित करने के लिए चुनने के लिए पिक्सेल रंग का एक विचार देगा। भिन्नता आपको एक विचार देती है कि पिक्सेल मान फैलते हैं: उदा। यदि आपका औसत पिक्सेल मान 50% ग्रे है, तो अन्य पिक्सेल अन्य 50% ग्रे (छोटे भिन्नता) हैं या आपके पास 50 काले पिक्सेल और 50 सफेद पिक्सेल (बड़े भिन्नता) हैं? तो आप इसे एक विचार के रूप में भी देख सकते हैं कि छवि का सारांश सारांश कितना अच्छा है (यानी शून्य भिन्नता के साथ, अधिकांश जानकारी माध्य से पकड़ी जाती है)।

संपादित करें: सिग्नल के आरएमएस मूल्य (रूट मीन स्क्वायर) के लिए, बस definition कहता है। ज्यादातर मामलों में आप आरएमएस मूल्य की गणना करने से पहले डीसी घटक (यानी मतलब) को हटाना चाहते हैं।

संपादित करें 2: जो मैं उल्लेख करना भूल गया था वह था: यह भौतिक दृष्टिकोण से माध्य के साथ भिन्नता के संख्यात्मक मूल्य की तुलना करने के लिए भी कम समझ में आता है। इसका मतलब आपके डेटा के समान आयाम है (पिक्सेल के मामले में, तीव्रता के बारे में सोचें), जबकि भिन्नता में आपके डेटा वर्ग का आयाम है (इसलिए तीव्रता^2)। मानक विचलन (std MATLAB में), जो दूसरी तरफ भिन्नता का वर्ग रूट है, डेटा के समान आयाम है, इसलिए आप कुछ तुलना कर सकते हैं (यह एक और सवाल है कि आपको ऐसी तुलना करना चाहिए)।

+0

ठीक है। सरल उदाहरण: 'छवि = [0 2]'। मतलब एक है, लेकिन भिन्नता दो है। –

+0

धन्यवाद स्पष्टीकरण के लिए धन्यवाद Egon .. क्या आप कृपया मुझे बताएं कि MATLAB में छवि का रूट मीन स्क्वायर वैल्यू कैसे प्राप्त करें .. मैं इस लिंक से पेपर का जिक्र कर रहा हूं, जिसका मतलब भिन्नता से बहुत कम है http://research.ijcaonline.org/ एनएससी/number4/SPE046T.pdf – user1268559

5

यदि आप आरजीबी छवि (एच एक्स डब्ल्यू एक्स 3) के साथ काम कर रहे हैं, तो आपको प्रत्येक चैनल के लिए अलग-अलग अर्थ और भिन्नता की गणना करनी होगी। इस मामले में औसत पिक्सेल 3-वैल्यू वेक्टर भी होगा।

for ch = 1:3 
    M(ch) = mean(reshape(img(:,:,ch),[],1)); 
    V(ch) = var(reshape(img(:,:,ch),[],1)); 
end 

MATLAB image कार्य करता है। इसे एक चर के रूप में उपयोग करने से बचें।

संबंधित मुद्दे