资源简介
VS2013下用OPENCV完成对圆轮廓获取后,计算圆面积和圆心位置

代码片段和文件信息
#include
#include
#include
#include
#include
#include
using namespace cv;
using namespace std;
const int kvalue = 15;//双边滤波邻域大小
void main()
{
Mat image = imread(“1-1.bmp“);
Mat img = image.clone();
Mat grayimg;
Mat grayGlobalBinayThr;
Mat blackMask;
//画十字架
line(image cvPoint(1975 1200) cvPoint(1975 1600) CV_RGB(0 255 255) 8 CV_AA 0);
line(image cvPoint(1775 1400) cvPoint(2175 1400) CV_RGB(0 255 255) 8 CV_AA 0);
namedWindow(“1“ WINDOW_NORMAL);
imshow(“1“ image);
//图像灰度化
cvtColor(img grayimg cv::COLOR_RGB2GRAY);
//截取要处理的图像区域
Mat imgROI(grayimg Rect(850 330 3100 - 850 2470 - 330));
//二值化
threshold(imgROI grayGlobalBinayThr 100 255 0);
blackMask = ~grayGlobalBinayThr;//按位取反,得到轮胎为1,背景为0的二值图像
//计算轮胎面积
int area = countNonZero(blackMask);
printf(“%d\n“ area);
namedWindow(“2“ WINDOW_NORMAL);
imshow(“2“ blackMask);
//获取轮胎轮廓
vector< vector > contours;//轮廓点
vector hierarchy;
findContours(blackMask contours hierarchyCV_RETR_EXTERNAL CV_CHAIN_APPROX_NONEPoint());
Mat imageContours = Mat::zeros(blackMask.size() CV_8UC1);
//判断轮胎与中心位置偏差
for (int i = 0; i < contours.size(); i++)
{
drawContours(imageContours contours i Scalar(255) 1);
RotatedRect rect = minAreaRect(contours[i]);
int x = rect.center.x;
int y = rect.center.y;
if (abs(x - 1125) <= 10 & abs(y - 1070) <= 10)
{
printf(“OK“);
break;
}
printf(“%d\n“ x);
printf(“%d\n“ y);
printf(“\n“);
}
namedWindow(“3“ WINDOW_NORMAL);
imshow(“3“ imgROI);
waitKey();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 87040 2016-11-28 15:18 计算面积提取圆心\Debug\计算面积提取圆心.exe
文件 482012 2016-11-28 15:18 计算面积提取圆心\Debug\计算面积提取圆心.ilk
文件 3403776 2016-11-28 15:18 计算面积提取圆心\Debug\计算面积提取圆心.pdb
文件 822272 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug\vc120.idb
文件 1855488 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug\vc120.pdb
文件 314933 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug\源.obj
文件 2849 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug\计算面积提取圆心.log
文件 572 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug\计算面积提取圆心.tlog\cl.command.1.tlog
文件 16312 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug\计算面积提取圆心.tlog\CL.read.1.tlog
文件 336 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug\计算面积提取圆心.tlog\CL.write.1.tlog
文件 2686 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug\计算面积提取圆心.tlog\li
文件 5096 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug\计算面积提取圆心.tlog\li
文件 320 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug\计算面积提取圆心.tlog\li
文件 176 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug\计算面积提取圆心.tlog\计算面积提取圆心.lastbuildstate
文件 1849 2016-11-28 15:36 计算面积提取圆心\计算面积提取圆心\源.cpp
文件 4601 2016-11-25 20:30 计算面积提取圆心\计算面积提取圆心\计算面积提取圆心.vcxproj
文件 944 2016-11-25 20:25 计算面积提取圆心\计算面积提取圆心\计算面积提取圆心.vcxproj.filters
文件 18874368 2016-11-28 15:36 计算面积提取圆心\计算面积提取圆心.sdf
文件 1018 2016-11-25 20:18 计算面积提取圆心\计算面积提取圆心.sln
..A..H. 23040 2016-11-28 15:36 计算面积提取圆心\计算面积提取圆心.v12.suo
目录 0 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug\计算面积提取圆心.tlog
目录 0 2016-11-28 15:18 计算面积提取圆心\计算面积提取圆心\Debug
目录 0 2016-11-28 15:18 计算面积提取圆心\Debug
目录 0 2016-11-29 12:50 计算面积提取圆心\计算面积提取圆心
目录 0 2016-11-28 15:36 计算面积提取圆心
----------- --------- ---------- ----- ----
25899688 25
相关资源
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- opencv环境配置
- win10 64位下编译的opencv4.5.5库,opencv
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
- SfM稀疏三维点云重建--完整工程文件
- 基于opencv的数人头程序源代码
- 利用OpenCV中的Stitcher类实现全景图像拼
- opencv实现的sift算法源码,包含了图像
- openCV 上的小波变换
- 基于OPENCV的车牌识别系统设计
- 617张国内车牌60-17bmp图片用于OpenCV正样
- hog特征提取,c版本代码
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
- 基于Opencv实现的图像纠偏
- ImageWatch2019.vsix
评论
共有 条评论