资源简介
圆点摄像头激光测距源代码---本人亲自测试过:具体教程:http://blog.csdn.net/mbees/article/details/70138725
代码片段和文件信息
/************************************************
技术支持:个人qq:2424607185
论坛:www.wh-robot.com
淘宝店铺:https://shop129437807.taobao.com/index.htm?spm=2013.1.w5002-12008333349.2.OTokUy
博客:http://blog.csdn.net/mbees?viewmode=contents
原理说明:http://blog.csdn.net/mbees/article/details/70138725
手机助手:从应用宝中心下载:小蜜蜂机器人
维航机器人配件店
作者:mbees
************************************************/
#include “stdafx.h“
#include
#include “highgui.h“
#include
#include
#include
using namespace cv;
using namespace std;
Mat src; //原图像存储变量
Mat src_gray; //存灰度图变量
int thresh = 180; //阈值设定
int max_thresh = 255;//最大阈值
int main( int argc char** argv ) {
VideoCapture cam(0);//获取摄像头0
if (!cam.isOpened()) exit(0);//判断是否存在,不存在退出
bool stop = false;//循环使能
while(!stop)
{
cam >> src;//获取摄像头
cvtColor( src src_gray CV_BGR2GRAY );//灰度化
GaussianBlur( src src Size(33) 0.1 0 BORDER_DEFAULT ); //线性滤波
blur( src_gray src_gray Size(33) ); //滤波
namedWindow( “image“ CV_WINDOW_AUTOSIZE ); //创建一个窗体
imshow( “image“ src ); //显示原图
moveWindow(“image“020); //移动窗体使得均匀分布
//定义Canny边缘检测图像
Mat canny_output; //定义边缘检测存储变量
vector hierarchy;
Canny( src_gray canny_output thresh thresh*3 3 ); //利用canny算法检测边缘
namedWindow( “canny“ CV_WINDOW_AUTOSIZE );
imshow( “canny“ canny_output );
moveWindow(“canny“50020);
vector > contours;
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++ )
{
if (mc[i].y>260||mc[i].y<200)
{
continue;
}
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(02550));
double gain = 0.001644074345 ;
double offset =0.001607879449 ;
unsigned int pixels_from_center =320 - mc[i].x;
// 算出距离并打印出来
if(pixels_from_center>140)
{
gain = 0.001513280086 ;
offset =0.017372721230 ;
}else if(pixels_from_center>104)
{
gain = 0.001635044755 ;
offset =0.003201011964 ;
}else
{
gain = 0.001644074345 ;
offset =0.001607879449 ;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-05-04 11:47 圆点激光测距源代码\
目录 0 2017-05-04 11:45 圆点激光测距源代码\laser01\
目录 0 2017-05-03 17:49 圆点激光测距源代码\laser01\ConsoleApplication5\
文件 3912 2017-05-04 11:45 圆点激光测距源代码\laser01\ConsoleApplication5\ConsoleApplication5.cpp
文件 4702 2017-03-29 18:10 圆点激光测距源代码\laser01\ConsoleApplication5\ConsoleApplication5.vcxproj
文件 1323 2017-03-13 21:06 圆点激光测距源代码\laser01\ConsoleApplication5\ConsoleApplication5.vcxproj.filters
文件 164 2017-03-11 21:20 圆点激光测距源代码\laser01\ConsoleApplication5\ConsoleApplication5.vcxproj.user
目录 0 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\
文件 63512 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\CL.read.1.tlog
文件 4798 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\CL.write.1.tlog
文件 105 2017-03-12 17:16 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\ConsoleApplication5.lastbuildstate
文件 3393 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\ConsoleApplication5.log
文件 579874 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\ConsoleApplication5.obj
文件 1179648 2017-03-12 00:31 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\ConsoleApplication5.pch
文件 84 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\Laser01.lastbuildstate
文件 1179648 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\Laser01.pch
文件 7640 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\cl.command.1.tlog
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
文件 2 2017-05-04 11:40 圆点激光测距源代码\laser01\ConsoleApplication5\Debug\li
............此处省略253个文件信息
相关资源
- opencv图像分类样本
- 32位 opencv 3.4.1 lib和dll文件
- 基于OpenCV的红绿灯识别
- opencv手写英文字符识别
- OpenCV测试工程
- 基于Opencv3.0生成的dll
- arm版opencv-2.4.9
- opencv3 图片外接矩形框
- 摄像头视频图像采集,以图片形式存
- OPENCV 合成两张焦点不同,图像相同的
- OPENCV 找出图片焦点
- 《视觉系统设计》
- opencv1.0.0版本
- 相机标定完整工程
- Windows下 QT 5 调用 大华 SDK 实现摄像头
- 群晖USB摄像头套件
- 基于OV5640摄像头二维码识别例程
- VIBE算法原理及openCV源程序
- opencv+zbar实现摄像头二维码识别
- opencv学习---运动目标前景检测
- 新手学习opencv--基于Hog的视频行人检测
- 通过Kinect v2.0+ VS2012+openCV2.4.9将彩色帧
- Mastering OpenCV中文版
- vs2008下实现二维码扫描,图片扫描,
- 基于opencv2.4.9的车牌定位、倾斜校正、
- OpenCV张正友相机标定程序,附实验数
- HOG特征可视化C代码
- 基于vs2013+opencv实现的CT平扫式二维断
- 2017全国电子设计大赛滚球控制系统程
- 车牌识别完整版 基于OPENCV3 完全实现
评论
共有 条评论