5

का उपयोग कैसे करें, मुझे लगता है कि मेरी छवि को मेरे माउस कर्सर के निर्देशांक प्रदर्शित करने के लिए नहीं मिल रहा है, और एक ही समय में बिंदुओं को स्टोर करने के लिए जीनपुट का उपयोग भी नहीं किया जा सकता है।निर्देशांक कैसे प्रदर्शित करें और जीनपुट

मैं वर्तमान में कोशिश कर रहा हूँ निम्नलिखित:

MriHotrod = imread('Image.bmp'); 
Fig = figure('Name','BobDole'),... 
    imshow(Image, 'InitialMagnification', 250) 

axis on 
impixelinfo 

Image_1 = ginput(4) 

close BobDole 

ginput अभी भी काम करता है, लेकिन impixelinfo स्थिर रहती है

Pixel Info = (X, Y) Pixel Value 

मैं इस के आसपास होने का कुछ तरीकों के बारे में पता कर रहा हूँ, लेकिन वे कार्यों को शामिल । यह एक साधारण समस्या की तरह लगता है जो कार्यों के उपयोग से बच सकता है।

उत्तर

4

आप edit ginput टाइप करें और लाइन 238-ish स्क्रॉल हैं, तो आप

% Adding this to enable automatic updating of currentpoint on the figure 
set(fig,'WindowButtonMotionFcn',@(o,e) dummy()); 

दूसरे शब्दों में देखेंगे, ginput आकृति में एक WindowButtonMotionFcn सेट। मेरा अनुमान है कि impixelinfo इस फ़ंक्शन का भी उपयोग करता है, इसलिए इसे ginput कहा जाता है जैसे इसे अक्षम कर दिया जाता है।

दरअसल, impixelinfoval में (एक समारोह impixelinfo द्वारा प्रयुक्त) हम चारों ओर लाइन 83 लगता है:

callbackID = iptaddcallback(hFig,'WindowButtonMotionFcn', @displayPixelInfo); 

अजीब बात तो यह है: यह कैसे आप के बाद रीसेट प्राप्त करता है 4 अंक क्लिक करें?

यह जादू ginput की लाइन 222-ish द्वारा पूरा किया है:

initialState.uisuspendState = uisuspend(fig); 

जाहिर है, uisuspend एक छोटे से गैर-दस्तावेजी समारोह है कि पहले से मौजूद किसी WindowButton* कार्यों को निलंबित करने, ताकि उन्हें बाद में पुनर्स्थापित करने के लिए प्रयोग किया जाता है। तो, आप इस लाइन

%initialState.uisuspendState = uisuspend(fig); 

बाहर टिप्पणी करता है, तो और ginput बचाने के लिए, और पूरी बात फिर से करते हैं, आप इच्छित व्यवहार देखते हैं।

आप यह भी देखेंगे कि इन कार्यों को पहली जगह क्यों निलंबित कर दिया गया है - कारणों से मुझे समझ में नहीं आता है, जब दो ऐसे कार्य सक्षम होते हैं तो सब कुछ अनावश्यक रूप से धीमा हो जाता है।

+0

धन्यवाद आपके उत्तर के लिए, दुर्भाग्य से हमारे जीनपूट फ़ंक्शंस बहुत अलग होना चाहिए, क्योंकि आपके द्वारा उल्लिखित रेखाओं में से कोई भी मेरे जीनपुट फ़ंक्शन में नहीं है। मैंने इस पर टिप्पणी करने की कोशिश की: राज्य = uisuspend (अंजीर) यह लाइन 92 पर दिखाई देता है। हालांकि यह काम नहीं किया। – Shinobii

+0

आपके पास मैटलैब का कौन सा संस्करण है? –

+0

संस्करण: 7.10.0 आर 2010 ए – Shinobii

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