#include "stdafx.h"
//---------------------------------【头文件、命名空间包含部分】----------------------------
// 描述:包含程序所使用的头文件和命名空间
//------------------------------------------------------------------------------------------------
#include
#include
#include
using namespace cv;
using namespace std;
//-----------------------------------【main( )函数】------------------------------------------
// 描述:控制台应用程序的入口函数,我们的程序从这里开始
//-----------------------------------------------------------------------------------------------
int main()
{
//打开摄像头
char c = 0;
VideoCapture capture(0);
while (1)
{
Mat frame;
capture >> frame;
//【1】Mat变量定义
Mat midImage;//目标图的定义
//【2】转为灰度图并进行图像平滑
cvtColor(frame, midImage, CV_BGR2GRAY);//转化边缘检测后的图为灰度图
GaussianBlur(midImage, midImage, Size(9, 9), 2, 2);
//【3】进行霍夫圆变换
vector<Vec3f> circles;
HoughCircles(midImage, circles, CV_HOUGH_GRADIENT, 1.5, 10, 200, 100, 0, 0);
//【4】依次在图中绘制出圆
for (size_t i = 0; i < circles.size(); i++)
{
//参数定义
Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));
int radius = cvRound(circles[i][2]);
//绘制圆心
circle(frame, center, 3, Scalar(0, 255, 0), -1, 8, 0);
//绘制圆轮廓
circle(frame, center, radius, Scalar(155, 50, 255), 3, 8, 0);
//打印圆心坐标
printf("x = %d,y = %d\n", cvRound(circles[i][0]), cvRound(circles[i][1]));
}
//【5】显示效果图
namedWindow("效果");
imshow("效果", frame2);
c = cvWaitKey(30);
if (c == 27)//Esc键退出
{
break;
}
}
return 0;
}
以上是代码
1 error C1083: 无法打开包括文件: “stdafx.h”: No such file or directory C:\Users\颜俊毅\Documents\Visual Studio 2013\Projects\Project1\Project1\源.cpp 1 1 Project1
2 IntelliSense: 无法打开 源 文件 "stdafx.h" c:\Users\颜俊毅\Documents\Visual Studio 2013\Projects\Project1\Project1\源.cpp 1 1 Project13 IntelliSense: 未定义标识符 "frame2" c:\Users\颜俊毅\Documents\Visual Studio 2013\Projects\Project1\Project1\源.cpp 54 16 Project1