اطلاعیه

Collapse
No announcement yet.

تنطیم محورهای مختصات

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تنطیم محورهای مختصات

    سلام دوستان، خسته نباشید
    تو یک بخش از GUI، می خوام یک عکس رو نشون بدم و اطرافش محورهای مختصاتی با درجه بندی دلخواه خودم بذارم. من برای این کار از کد زیر استفاده کردم:
    axes(handles.axes1);
    set(handles.axes1,'XMinorTick','on& #039;
    pic1=imread ('pic1.png'
    xlabel('x (mm)' ylabel('y (mm)'
    axis on;
    grid on;
    ولی متاسفانه درجه بندی به صورت پیش فرض نرم فزار انجام میشه، یعنی گوشه ی بالا سمت چپ به عنوان مبدا مختصات در نظر گرفته میشه و درجه بندی ها به شکل زیر میشه. ولی من می خوام نقطه ی وسط تصویرم مبدا مختصات باشه. چطور می تونم این کار رو انجام بدم؟!!


    این سه چهار تا روش رو هم امتحان کردم، جواب نداد. میتونین بگین اشکال کارم کجاست؟!!
    % axes([-100 100 -100 100]);
    % axes('XLim',[-100 100],'YLim',[-100 100]);
    % set(gca,'xlim',[-100 100],'ylim',[-100 100]);
    % xlim([-100 100]); ylim([-100 100]);

    پیشاپیش ممنووووووووووووووون از راهنماییتون
    و شرمنده یکم طولانی شد... :blush:

    #2
    پاسخ : تنطیم محورهای مختصات

    این درجه بندی ها مربوط به خود پیکسلهای عکس میشه و قرار داد مرکز به عنوان مبدا فکر نکنم بشه
    شما در GUI یک نمودار بگذارید حال تعیین محورها و مقادیر آن دیگر دست خودتان است و عکس را داخل نمودار فراخوانی کنید
    البته درجه بندی خود عکس را دیگر غیر فعال کنید.
    مهم نیست چه مدرکى دارید
    مهم این است که چه درکى دارید . . .

    دیدگاه


      #3
      پاسخ : تنطیم محورهای مختصات

      مرسی، منظورتون اینه که درجه بندی مربوط به خود پیکسلهای عکس از گوشه ی سمت چپ عکس (بالا) شروع میشه و اونم با مختصات (1 1)؟!! آخه نقطه قرمز سمت چپ تو تصویرم رو (1 1) نشون میده...
      راستش خواستم همین کاری که شما میگینو انجام بدم. یعنی اول یه نمودار بذارم و بعد محورها رو تعیین کنمو در نهایت و عکس رو داخل نمودار فراخوانی کنم. اما هر کدوم از کدهای زیر رو نوشتم محورهای مختصات مطابق نظر من تنظیم نشد. بنظرتون مشکل کارم چیه؟!
      axes([-100 100 -100 100]);
      axes('XLim',[-100 100],'YLim',[-100 100]);
      set(gca,'xlim',[-100 100],'ylim',[-100 100]);
      xlim([-100 100]); ylim([-100 100]);
      یعنی در واقع این دستورات بالا رو تو قسمت:
      function Haptic_OpeningFcn(hObject, eventdata, handles, varargin)
      بعد از
      handles.output = hObject;
      guidata(hObject, handles);
      گذاشتم. اما انگار که نه انگار!!!!
      شما میگین چیکار کنم که عکسم داخل نموداری که محورهای مختصاتشو خودم تعریف کردم فراخوانی شه؟!!
      و اینکه چطوری مختصات هر نقطه از عکسم رو مطابق با مبدایی که تعریف کردم داشته باشم؟!
      ممنوووووووووووووون

      دیدگاه


        #4
        پاسخ : تنطیم محورهای مختصات

        شما در تنظیمات GUI سعی کن بیشتر در همون قسمت گرافیکی کار کنی مثلا روی هر axes که بری و صفحه inspector را باز کنی میتوانی بسیار راحتتر تنظیمات مورد نظرتان را انجام دهید . مثلا اعداد محور مختصات رو بدلخواه تنظیم کنید. و ...
        مهم نیست چه مدرکى دارید
        مهم این است که چه درکى دارید . . .

        دیدگاه


          #5
          پاسخ : تنطیم محورهای مختصات

          اشکال کارم رو متوجه شدم
          set(gca,'xlim',[-700 700],'ylim',[-300 300]);
          رو باید بعد از axis on; می نوشتم که به اشتباه قبل از اون نوشتم.
          حالا عکسم به شکل زیر نمایش داده می شه:

          چطور اونو جابجا کنم که عکس دقیقا تو مرکز این محورهای مختصات نمایش داده شه؟! یعنی گوشه ی سمت چپ تصویرم بره تو نقطه ی (300-,650-)؟!!
          ممنووووووووووووووووووون

          دیدگاه


            #6
            پاسخ : تنطیم محورهای مختصات

            سلام
            به نظر من عکس رو به حال خودش بگذارید در عوض یک تابع تبدیل بنویسید که مختصات خوانده شده از عکس را به مختصات مورد نظر شما تبدیل کنه

            دیدگاه

            لطفا صبر کنید...
            X