资源简介
利用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求取多轮廓质心并在输出图像显示质心坐标\.vs\opencv求取多轮廓质心并在输出图像显示质心坐标\
目录 0 2017-11-21 18:54 opencv求取多轮廓质心并在输出图像显示质心坐标\.vs\opencv求取多轮廓质心并在输出图像显示质心坐标\v14\
文件 25088 2017-11-21 19:38 opencv求取多轮廓质心并在输出图像显示质心坐标\.vs\opencv求取多轮廓质心并在输出图像显示质心坐标\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求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\
文件 575657 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\main.obj
目录 0 2017-11-21 18:56 opencv求取多轮廓质心并在输出图像显示质心坐标\opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\opencv求取.AEF3CCBB.tlog\
文件 694 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\opencv求取.AEF3CCBB.tlog\CL.command.1.tlog
文件 42330 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\opencv求取.AEF3CCBB.tlog\CL.read.1.tlog
文件 644 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\opencv求取.AEF3CCBB.tlog\CL.write.1.tlog
文件 1412 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\opencv求取.AEF3CCBB.tlog\li
文件 3752 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\opencv求取.AEF3CCBB.tlog\li
文件 630 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\opencv求取.AEF3CCBB.tlog\li
文件 238 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\opencv求取.AEF3CCBB.tlog\opencv求取多轮廓质心并在输出图像显示质心坐标.lastbuildstate
文件 1635 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\opencv求取多轮廓质心并在输出图像显示质心坐标.log
文件 691200 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\vc140.idb
文件 1445888 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\vc140.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求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\
文件 154112 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\opencv求取多轮廓质心并在输出图像显示质心坐标.exe
文件 688580 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\opencv求取多轮廓质心并在输出图像显示质心坐标.ilk
文件 2027520 2017-11-21 19:35 opencv求取多轮廓质心并在输出图像显示质心坐标\x64\Debug\opencv求取多轮廓质心并在输出图像显示质心坐标.pdb
- 上一篇:ssm+redis框架,亲测执行成功
- 下一篇:PDF转图片各DLL及demo
相关资源
- RGB图像处理+颜色识别
- 自己写的QT图像处理系统,和opencv进行
- OpenCV计算机视觉常用测试图
- 基于opencv颜色识别 - 图像(普通轮廓
- 基于OpenCV的车辆监测与计数
- 数字图像处理(冈萨雷斯第三版)北
- 数字图像处理课件-北京大学
- 大华相机图像使用OpenCV显示
- opencv的单目标定API已经二次封装
- opencv_install
- 基于OpenCV的运动物体方向识别论文
- 基于Hough椭圆检测opencv
- 抠图代码opencv
- 基于opencv的鱼眼相机标定和透视投影
- MinGW编译的opencv3.2
- 基于 vs2010 opencv的人脸识别系统
- 鱼眼标定校正 opencv3.0 视场大小可调
- opencv 鱼眼镜头标定校正
- Qt5.9.3+mingw530_32+OpenCV3.4.1工程模版
- OpenCV计算机视觉编程攻略第3版完整高
- 应用opencv zbar 解析二维码图片
- 基于OpenCV的车牌识别一整套
- 雾天图片集合
- 西安电子科技大学数字图像处理ppt
- 数字图像处理实习教程
- opencv3.4.1+contrib编译好的install文件vs
- 浅墨的opencv学习代码,有注释,前十
- OpenCV3.2对应的opencv_ffmpeg
- 相机标定和鸟瞰图生成_vs2017.rar
- opencv4.0.1+contrib+vs2017_x64
评论
共有 条评论