资源简介

基于OpenCV2.4.3+VS2008的marker检测识别demo,具体看http://blog.csdn.net/yang_xian521/article/details/8525881

资源截图

代码片段和文件信息

/************************************************************************
* Copyright(c) 2013  Yang Xian
* All rights reserved.
*
* File: main.cpp
* Brief: marker检测识别
* Version: 1.0
* Author: Yang Xian
* Email: yang_xian521@163.com
* Date: 2013/1/29 12:17
* History:
************************************************************************/
#include “MarkerDetector.h“
#include 
#include 
#include 
#include 

using namespace cv;

int main(void)
{
VideoCapture camCapture;
camCapture.set(CV_CAP_PROP_frame_WIDTH 340);
camCapture.set(CV_CAP_PROP_frame_HEIGHT 240);
if (!camCapture.open(0))
{
std::cout << “can‘t open cam!“ << std::endl;
}

camCapture.set(CV_CAP_PROP_frame_WIDTH 340);
camCapture.set(CV_CAP_PROP_frame_HEIGHT 240);
MarkerDetector markCapture;
Mat frame;
while (1)
{
camCapture >> frame;
markCapture.processframe(frame);

// show threshold
//  imshow(“thresholdImg“ markCapture.m_imgThreshold);

// show contours
vector hierarchy;
Mat contourImg = Mat::zeros(frame.size() CV_8UC3);
for(int i=0; i {
drawContours(contourImg markCapture.m_contours i Scalar(255255255) 2 8 hierarchy 0 Point());
}
//  imshow(“contours“ contourImg);

// show marker
for(int i=0; i {
int sizeNum = markCapture.m_markers[i].m_points.size();
for (int j=0; j {
line(frame markCapture.m_markers[i].m_points[j] markCapture.m_markers[i].m_points[(j+1)%sizeNum] Scalar(00255) 2 8);
}
circle(frame markCapture.m_markers[i].m_points[0] 3 Scalar(0255255) 2 8);
}
imshow(“markerDetector“ frame);

// print markers information
int numMarker = markCapture.m_markers.size();
  std::cout << “new frame---------------“ << std::endl;
if (numMarker >0)
{
std::cout << “detect marker number: “ << numMarker << std::endl;
for (int i=0; i {
std::cout << “marker index: “ << i << “   “ << “marker ID: “ << std::bitset<10>(markCapture.m_markers[i].m_id) << std::endl;
}
}
else
{
std::cout << “no marker!“ << std::endl;
}


//  keyboard UI
int c = cv::waitKey(20);
if((char)c == ‘q‘)
{
break;
}
if(c >= 0 && c!= ‘q‘)
{
cv::waitKey();
}
}

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       32251  2013-01-30 11:55  marker.docx
     目录           0  2013-01-30 11:55  MarkerDetection\
     目录           0  2013-01-30 12:25  MarkerDetection\Debug\
     文件      252928  2013-01-30 12:25  MarkerDetection\Debug\MarkerDetection.exe
     文件      985496  2013-01-30 12:25  MarkerDetection\Debug\MarkerDetection.ilk
     文件     1821696  2013-01-30 12:25  MarkerDetection\Debug\MarkerDetection.pdb
     文件       32251  2013-01-30 11:55  MarkerDetection\marker.docx
     目录           0  2013-01-30 12:25  MarkerDetection\MarkerDetection\
     文件    42855424  2013-01-30 12:29  MarkerDetection\MarkerDetection.ncb
     文件         911  2013-01-30 11:21  MarkerDetection\MarkerDetection.sln
     文件       28160  2013-01-30 12:29  MarkerDetection\MarkerDetection.suo
     目录           0  2013-01-30 12:25  MarkerDetection\MarkerDetection\Debug\
     文件        7444  2013-01-30 12:25  MarkerDetection\MarkerDetection\Debug\BuildLog.htm
     文件      176004  2013-01-30 12:25  MarkerDetection\MarkerDetection\Debug\main.obj
     文件      146922  2013-01-30 11:47  MarkerDetection\MarkerDetection\Debug\Marker.obj
     文件         621  2013-01-30 12:25  MarkerDetection\MarkerDetection\Debug\MarkerDetection.exe.intermediate.manifest
     文件     1121797  2013-01-30 11:21  MarkerDetection\MarkerDetection\Debug\MarkerDetector.obj
     文件          69  2013-01-30 12:25  MarkerDetection\MarkerDetection\Debug\mt.dep
     文件      445440  2013-01-30 12:25  MarkerDetection\MarkerDetection\Debug\vc90.idb
     文件      724992  2013-01-30 12:25  MarkerDetection\MarkerDetection\Debug\vc90.pdb
     文件        2444  2013-01-30 12:25  MarkerDetection\MarkerDetection\main.cpp
     文件        3386  2013-01-30 11:47  MarkerDetection\MarkerDetection\Marker.cpp
     文件        1037  2013-01-30 10:53  MarkerDetection\MarkerDetection\Marker.h
     文件        4168  2013-01-29 19:45  MarkerDetection\MarkerDetection\MarkerDetection.vcproj
     文件        1413  2013-01-30 12:29  MarkerDetection\MarkerDetection\MarkerDetection.vcproj.YANGXIAN.Administrator.user
     文件        8736  2013-01-30 10:54  MarkerDetection\MarkerDetection\MarkerDetector.cpp
     文件        1625  2013-01-30 10:15  MarkerDetection\MarkerDetection\MarkerDetector.h
     目录           0  2013-01-30 11:13  MarkerDetection\MarkerDetection\Release\
     文件        7012  2013-01-30 11:13  MarkerDetection\MarkerDetection\Release\BuildLog.htm
     文件      973437  2013-01-30 10:59  MarkerDetection\MarkerDetection\Release\main.obj
     文件      938445  2013-01-30 11:13  MarkerDetection\MarkerDetection\Release\Marker.obj
............此处省略8个文件信息

评论

共有 条评论