專案名稱: OpenCVCamera
應用程式類型: 單一文件介面
基底類別:下拉選單選擇CFormView
----------------------------------------分隔線----------------------------------------
方案組態: 下拉選單選擇Release
設定專案屬性
-> C/C++ -> 其他Include目錄 -> C:\OpenCV2.1\include\opencv
-> 連結器 -> 其他程式庫目錄 -> C:\OpenCV2.1\lib
-> 連結器 -> 其他相依性 -> cxcore210.lib cv210.lib highgui210.lib
-> 組態屬性 -> 一般 -> 字元集 -> 使用多位元組字元集
----------------------------------------分隔線----------------------------------------
類別檢視 -> COpenCVLoadImageDoc滑鼠雙擊開啟OpenCVCameraDoc.h
1. 加入#include "highgui.h"
2. 加入成員變數
public:
CImage m_image; // CvvImage
CvCapture *m_capture; // 攝影機
bool m_bOnCamera; // 攝影機開啟狀態
----------------------------------------分隔線----------------------------------------
點選[開啟]->滑鼠右鍵出現選單->點選[加入事件處理常式]
void COpenCVCameraView::OnCameraOpen()
{
// TODO: 在此加入您的命令處理常式程式碼
COpenCVCameraDoc *pDoc = GetDocument();
pDoc->m_bOnCamera = 1; // 攝影機狀態 = 1(啟動)
pDoc->m_capture = cvCaptureFromCAM(0);
IplImage *frame;
while(pDoc->m_bOnCamera)
{
if(pDoc->m_bOnCamera ){
frame = cvQueryFrame(pDoc->m_capture);
if(!frame) break;
pDoc->m_image.CopyOf(frame);
CRect r; // 矩形繪製範圍:r
r.left = 0;
r.top = 0;
r.right = pDoc->m_image.Width();
r.bottom = pDoc->m_image.Height();
CClientDC dc(this);
pDoc->m_image.DrawToHDC( dc.GetSafeHdc(), r);
//Sleep(50);
DoEvents();
}
}
}
----------------------------------------分隔線----------------------------------------
點選[關閉]->滑鼠右鍵出現選單->點選[加入事件處理常式]
void COpenCVCameraView::OnCameraClose()
{
// TODO: 在此加入您的命令處理常式程式碼
COpenCVCameraDoc *pDoc = GetDocument();
pDoc->m_bOnCamera = 0; // 攝影機狀態 = 1(啟動)
cvReleaseCapture(&pDoc->m_capture);
}
----------------------------------------分隔線----------------------------------------
留言列表