From fff85731c4826f08d716e8367f6d9bfdf271e6c0 Mon Sep 17 00:00:00 2001 From: taynpg Date: Thu, 26 Dec 2024 16:47:17 +0800 Subject: [PATCH] =?UTF-8?q?md=EF=BC=9Ademo=E6=8A=A0=E5=9B=BE=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E6=B7=BB=E5=8A=A0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MainFrame.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/MainFrame.cpp b/MainFrame.cpp index 14abe0b..e140563 100644 --- a/MainFrame.cpp +++ b/MainFrame.cpp @@ -56,6 +56,25 @@ void CMainFrame::turn2blue(wxCommandEvent& event) cv::Mat blueBackground(img_.size(), img_.type(), cv::Scalar(255, 0, 0)); // 蓝色 (B, G, R) blueBackground.copyTo(img_, mask); // 通过掩码复制蓝色区域到原图 win_img_->set_img(img_); + + // cv::Mat mask = cv::Mat::zeros(img_.size(), CV_8UC1); + // cv::Rect rect(10, 10, img_.cols - 10, img_.rows - 10); + // cv::grabCut(img_, mask, rect, cv::Mat(), cv::Mat(), 5, + // cv::GC_INIT_WITH_RECT); + + // // 创建一个蓝色背景,BGR格式的蓝色是(255, 0, 0) + // cv::Mat blueBackground(img_.size(), img_.type(), cv::Scalar(255, 0, 0)); + + // // 将前景区域(mask == cv::GC_PR_FGD)复制到蓝色背景中 + // cv::Mat result; + // img_.copyTo(result, mask); // 前景区域从原图像复制 + + // // 将背景区域填充为蓝色(mask != cv::GC_PR_FGD) + // cv::Mat backgroundMask = (mask != cv::GC_PR_FGD); // 背景区域 + // blueBackground.copyTo(result, backgroundMask); // 将背景区域填充为蓝色 + + // // 将处理后的结果显示到窗口中 + // win_img_->set_img(result); } void CMainFrame::turn2white(wxCommandEvent& event)