opencv.js,OpenCV初探 —— 將OpenCV窗口鏈接在MFC的PictureControl控件中

 2023-10-07 阅读 27 评论 0

摘要:1)在項目.h文件中加入頭文件 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui_c.h> using namespace cv; 2)在項目Dlg.cpp的OnInitDialog

1)在項目.h文件中加入頭文件

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui_c.h>
using namespace cv;

2)在項目Dlg.cpp的OnInitDialog()函數中,加入初始化代碼

CRect rect1;
// CWnd:MFC窗口類的基類,IDC_ORIIMG:PictureControl的ID
CWnd* pWnd1 = GetDlgItem(IDC_ORIIMG);
// GetClientRect:獲得控件大小
pWnd1->GetClientRect(&rect1);
// 設置opencv窗口名
namedWindow("src1", WINDOW_AUTOSIZE);
// 獲取窗口句柄
HWND hWndl = (HWND)cvGetWindowHandle("src1");
// 獲取父窗口句柄
HWND hParent1 = ::GetParent(hWndl);
// 設置opencv窗體與PictureControl控件綁定
::SetParent(hWndl, GetDlgItem(IDC_ORIIMG)->m_hWnd);
// 在指定窗口中顯示
::ShowWindow(hParent1, SW_HIDE);

3)讀入圖像并獲取圖像大小,顯示

// imread讀取指定路徑下的圖片(相對路徑為.cpp文件,不是.exe文件)
Mat image = imread("OpenCV.jpg");
// 判斷圖片是否讀取成功
if (image.empty())printf("圖片讀取失敗!");
elseprintf("圖片讀取成功!");
// 設置圖片大小與窗體匹配
resize(image, image, Size(rect1.Width(), rect1.Height()));
// 在窗口名為"src1"中顯示圖片
imshow("src1", image);

若生成解決方案時出現如下錯誤提示,進行系統平臺切換。若系統是64位,將x86切換成x64即可。

opencv.js。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/126637.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息