opencv求取多轮廓质心并在输出图像显示质心坐标


利用OpenCV求取图像多轮廓质心,并在输出图像上显示质心坐标 ⋅ opencv提取目标质心
资源截图
代码片段和文件信息

#include   
#include   
#include   
#include   


using namespace cv;
using namespace std;
Mat src;
Mat src_gray;
int thresh = 30;
int max_thresh = 255;

int main()
{
src = imread(“C:\Users\Administrator\Desktop\999.jpg“ CV_LOAD_IMAGE_COLOR);    //注意路径得换成自己的  
cvtColor(src src_gray CV_BGR2GRAY);//灰度化      
GaussianBlur(src src Size(3 3) 0.1 0 BORDER_DEFAULT);
blur(src_gray src_gray Size(3 3)); //滤波       
namedWindow(“image“ CV_WINDOW_AUTOSIZE);
//imshow(“image“ src);
moveWindow(“image“ 20 20);
//定义Canny边缘检测图像       
Mat canny_output;
vector > contours;
vector hierarchy;
//利用canny算法检测边缘       
Canny(src_gray canny_output thresh thresh * 3 3);
namedWindow(“canny“ 0);
imshow(“canny“ canny_output);
moveWindow(“canny“ 550 20);
//查找轮廓    
findContours(canny_output contours hierarchy CV_RETR_TREE CV_CHAIN_APPROX_SIMPLE Point(0 0));
//计算轮廓矩       
vector mu(contours.size());
for (int i = 0; i < contours.size(); i++)
{
mu[i] = moments(contours[i] false);
}
//计算轮廓的质心     
vector mc(contours.size());
for (int i = 0; i < contours.size(); i++)
{
mc[i] = Point2d(mu[i].m10 / mu[i].m00 mu[i].m01 / mu[i].m00);
}
//画轮廓及其质心并显示      
Mat drawing = Mat::zeros(canny_output.size() CV_8UC3);
for (int i = 0; i< contours.size(); i++)
{
Scalar color = Scalar(255 0 0);
drawContours(drawing contours i color 2 8 hierarchy 0 Point());
circle(drawing mc[i] 5 Scalar(0 0 255) -1 8 0);
rectangle(drawing boundingRect(contours.at(i)) cvScalar(0 255 0));
char tam[100];
printf(tam “(%0.0f%0.0f)“ mc[i].x mc[i].y);
cout << “U“ << mc[i].x << “V“ << mc[i].y << endl;
//////////////////////////////////////////
/*CString numstr;
numstr.Format((“%lf   %lf“) mc[i].x mc[i].y);
MessageBox(0numstr);*/
//////////////////////////////////
putText(drawing tam Point(mc[i].x mc[i].y) FONT_HERSHEY_SIMPLEX 0.4 cvScalar(255 0 255) 1);
}
namedWindow(“Contours“ CV_WINDOW_AUTOSIZE);
imshow(“Contours“ drawing);
moveWindow(“Contours“ 1100 20);
waitKey(0);
src.release();
src_gray.release();
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-21 18:54  opencv求取多轮廓质心并在输出图像显示质心坐标
     目录           0  2017-11-21 18:54  opencv求取多轮廓质心并在输出图像显示质心坐标.vs
     目录           0  2017-11-21 18:54  opencv求取多轮廓质心并在输出图像显示质心坐标.vsopencv求取多轮廓质心并在输出图像显示质心坐标
     目录           0  2017-11-21 18:54  opencv求取多轮廓质心并在输出图像显示质心坐标.vsopencv求取多轮廓质心并在输出图像显示质心坐标v14
     文件       25088  2017-11-21 19:38  opencv求取多轮廓质心并在输出图像显示质心坐标.vsopencv求取多轮廓质心并在输出图像显示质心坐标v14.suo
     目录           0  2017-11-21 18:54  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标
     文件        2366  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标main.cpp
     文件        7433  2017-11-21 18:56  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标.vcxproj
     文件         945  2017-11-21 18:56  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标.vcxproj.filters
     目录           0  2017-11-21 18:56  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64
     目录           0  2017-11-21 18:56  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debug
     文件      575657  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugmain.obj
     目录           0  2017-11-21 18:56  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugopencv求取.AEF3CCBB.tlog
     文件         694  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugopencv求取.AEF3CCBB.tlogCL.command.1.tlog
     文件       42330  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugopencv求取.AEF3CCBB.tlogCL.read.1.tlog
     文件         644  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugopencv求取.AEF3CCBB.tlogCL.write.1.tlog
     文件        1412  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugopencv求取.AEF3CCBB.tloglink.command.1.tlog
     文件        3752  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugopencv求取.AEF3CCBB.tloglink.read.1.tlog
     文件         630  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugopencv求取.AEF3CCBB.tloglink.write.1.tlog
     文件         238  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugopencv求取.AEF3CCBB.tlogopencv求取多轮廓质心并在输出图像显示质心坐标.lastbuildstate
     文件        1635  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugopencv求取多轮廓质心并在输出图像显示质心坐标.log
     文件      691200  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugvc140.idb
     文件     1445888  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugvc140.pdb
     文件    49381376  2017-11-21 19:38  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标.VC.db
     文件        1471  2017-11-21 18:54  opencv求取多轮廓质心并在输出图像显示质心坐标opencv求取多轮廓质心并在输出图像显示质心坐标.sln
     目录           0  2017-11-21 18:56  opencv求取多轮廓质心并在输出图像显示质心坐标x64
     目录           0  2017-11-21 18:56  opencv求取多轮廓质心并在输出图像显示质心坐标x64Debug
     文件      154112  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugopencv求取多轮廓质心并在输出图像显示质心坐标.exe
     文件      688580  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugopencv求取多轮廓质心并在输出图像显示质心坐标.ilk
     文件     2027520  2017-11-21 19:35  opencv求取多轮廓质心并在输出图像显示质心坐标x64Debugopencv求取多轮廓质心并在输出图像显示质心坐标.pdb

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)