نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ

آموزش ماژول Plot در OpenCV

503

به نام خدا : ماژول Plot فقط یه یک کلاس ( با نام Plot2d ) داره که برای رسم نمودار بکار میره، کلاس ساده ای هستش ولی خب کاچی به از هیچی! اگه از کنترل هایی که در ماژول High-level GUI ارائه شده استفاده میکنید، این نمودار گزینه خوبی برای شما هستش؛ اگه هم از GUI های دیگه ای ( نظیر QT یا Win32 UI یا GTK یا OpenGL و… ) میخواید استفاده کنید، که دیگه این کلاس بکارتون نمیاد! ( QT، کنترل/ویجت رسم نمودار داره، اما درمورد بقیه موارد، مطمئن نیستم )؛ این ماژول زیر مجموعه ای از بسته opencv_contrib ( ماژول های اضافی OpenCV؛ ماژول هایی که هنوز به بسته اصلی OpenCV راه پیدا نکردن ) هستش.

آموزش ماژول Plot در OpenCV

 

توجه : این ماژول، در مسیر زیر قرار داره :

[opencv_contrib]/modules/plot

 

توضیح توابع کلاس Plot2d

OpenCV Plot2d

 

1) تابع create : به کمک این تابع میتونید یه شیء از کلاس Plot2d ایجاد کنید.

توضیح پارامترها :

  • data : پارامتر ورودی، حاوی داده های محور Y؛ اندازه این پارامتر باید \( 1 \times N \) یا \( N \times 1 \) باشد؛ که حاوی داده های محور Y باشد، و شماره index داده های محور Y، به عنوان داده های محور X استفاده میشه!
  • dataX : پارامتر ورودی، حاوی داده های محور X؛ اندازه این پارامتر باید \( 1 \times N \) یا \( N \times 1 \) باشه.
  • dataY : پارامتر ورودی، حاوی داده های محور Y؛ اندازه این پارامتر باید \( 1 \times N \) یا \( N \times 1 \) باشه.

توجه : نوع داده باید double یا CV_64F باشه.

 

2) تابع render : نمودار رو ایجاد میکنه و در تصویری که بهش میدیم ( به پارامتر _plotResult میدیم )، نمودار رو قرار میده، بعد میتونیم تصویر فوق رو نمایش بدیم ( به کمک تابع cv::imshow ).

 

3) تابع setNeedPlotLine : آیا PlotLine نمایش داده بشه یا نه؛ به صورت پیشفرض نمایش داده میشه؛ اگه غیر فعالش کنید، فقط نقاط داده رو نمایش میده و نقاط رو به هم وصل نمیکنه.

4) تابع setPlotLineColor : تنظیم رنگ PlotLine؛ به صورت پیشفرض زرد هستش.

 

5) تابع setPlotBackgroundColor : تنظیم رنگ Background؛ به صورت پیشفرض سیاه هستش.

 

6) تابع setPlotAxisColor : تنظیم رنگ محورهای X و Y؛ به صورت پیشفرض سیاه هستش.

 

7) setShowGrid : آیا خطوط شطرنجی داخل نمودار نمایش داده بشن یا نه؛ به صورت پیشفرض، نمایش داده میشن.

8) تابع setGridLinesNumber : تعداد تقسیمات خطوط شطرنجی، مقدار 1 یعنی عدم نمایش خطوط شطرنجی، مقدار N یعنی، صفحه در محور Y و X، به N قسمت تقسیم میشه ( N تا خط در راستای محور X و N تا خط در راستای محور Y !!! )؛ مقدار پیشفرض 10 هستش.

9) تابع setPlotGridColor : تنظیم رنگ خطوط شتطرنجی ( Grid )؛ به صورت پیشفرض سفید هستش.

 

10) تابع setShowText : آیا Text ها نمایش داده بشن یا نه؛ به صورت پیشفرض، نمایش داده میشن.

11) تابع setPlotTextColor : تنظیم رنگ Text ها؛ به صورت پیشفرض سفید هستش.

 

12) تابع setPlotSize : تنظیم طول و عرض نمودار.

 

13) تابع setPlotLineWidth : تنظیم اندازه خطوط شطرنجی، محورها و نمودار؛ به صورت پیشفرض اندازه اش 1 هستش.

 

14) تابع setInvertOrientation : قرینه کردن نمودار نسبت به محور X؛ به صورت پیشفرض غیرفعال هستش؛ هرچی بررسی کردم باید این تابع رو فعال کنید، تا نمودار رو درست نمایش بده، یه نمودار COS رو تست کردم، حالا نمیدونم شاید اشتباه از من بوده یا نکته ای هستش که من متوجه نشدم.

 

15 تا 18) توابع setMinX و setMaxX و setMinY و setMaxY : تنظیم مقادیر min و max محورهای X و Y.

 

19) تابع setPointIdxToPrint : میتونید index داده ای که میخواید مقادیرش در قسمت text نمایش داده بشه، تعیین کنید!

 

کدهای نمونه کلاس Plot2d

کد نمونه 1 : -

 

کد نمونه 2 : -

 

منابع :

 

تا مطلب بعد اگه زنده بودیم و قسمت شد، یا علی.

 

تعداد مطالب : 362 تا
جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات : آموزش OpenCV
ارسال دیدگاه
0

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) پسورد فایل های سایت : www.dmf313.ir

3) نظرات حاوی کد برنامه نویسی تایید نمیشوند ( قالب سایت بهم میریزه )