نمایش تصویر Mat روی دیالوگ MFC

نمایش تصویر Mat روی دیالوگ MFC

برای نمایش تصاویر cv::Mat در OpenCV تنها تابعی که وجود دارد، imshow است که یک پنجره جدید می سازد و در آن نمایش می دهد. زمانیکه بخواهیم تصاویر را در یک پروژه MFC مثلا در یک دیالوگ یا یک برنامه SDI نمایش دهیم به مشکل می خوریم. برای حل مشکل دو راه وجود دارد، یکی اینکه  Mat را به CImage تبدیل کنیم و از تابع CImage::Draw برای نمایش تصویر استفاده کنیم و دیگری که سربار کمتری دارد (چون حافظه ای کپی نمی شود) استفاده از تابع APIی ویندوز با نام StretchDIBits است:

show OpenCV image on MFC dialog

Showing cv::Mat in MFC Dialog by Converting Mat to CImage

Showing cv::Mat in MFC Dialog Using StretchDIBits

 

بدون دیدگاه

ارسال یک نظر

نظر
نام
ایمیل
وبسایت