#include "WinImg.h" CImagePanel::CImagePanel(wxWindow* parent) : wxPanel(parent), bitmap_(wxNullBitmap) { Bind(wxEVT_PAINT, &CImagePanel::OnPaint, this); } void CImagePanel::set_img(const cv::Mat& img) { if (img.empty()) { return; } cv::Mat rgb_img; cv::cvtColor(img, rgb_img, cv::COLOR_BGR2RGB); wxImage wimg(rgb_img.cols, rgb_img.rows, rgb_img.data, true); bitmap_ = wxBitmap(wimg); Refresh(); } void CImagePanel::OnPaint(wxPaintEvent& event) { wxPaintDC dc(this); if (bitmap_.IsOk()) { dc.DrawBitmap(bitmap_, 0, 0, false); } }