基本信息
源码名称:通过图像实现Z轴定位(opencv)
源码大小:5.98M
文件格式:.rar
开发语言:C/C++
更新时间:2019-11-04
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
通过获取带有激光点的图像,计算图像中激光点中心,从而实现Z轴自动定位。
1.功能介绍
对图片进行灰度处理、阈值计算、腐蚀、膨胀处理,求面积最大的连通区域的重心位置
2.文档说明
dll文件编写:在目录faculae下
调用dll的例程:在目录testFaculae下
3.使用说明:
1.输入图片路径:如:E:\Cu\1.jpg
2.输入灰度阈值:如:150
3.输入膨胀尺寸和膨胀次数:如:1 3
4.输入腐蚀尺寸和腐蚀次数:如:1 5
输出:每一步图像处理后的图像(按任意键显示下一张图片)
5.输入连通区域面积阈值:如:1000
输出:
区域中心点的位置是:
x=559, y=232
与中心点(377,232)的距离是
182
#include "cv.h" #include "cxcore.h" #include "highgui.h" #include#include#includeusing namespace std; #include "testFaculae.h" int main() //求重心位置 { int x = 0 ; int y = 0 ; //激光点重心 int centerX = 377; int centerY = 232; //光斑中心 string fPic; //图片名称 int value; //阈值 int eSize, iterator; //腐蚀尺寸 迭代次数 cout << "请输入图片路径: "< > fPic; //-------------------------------------- //---------------------------------------------- IplImage* pImg = GrayPic(fPic.c_str()); //灰度处理 if (pImg == NULL) { cout <<"文件"< > value; IplImage* pThreshold = threshold(pImg,value); //阈值处理 //------------------------------- //-------------------------------- cout < > eSize >> iterator; IplImage* pDilate = DilatePic(pThreshold, eSize, iterator); //----------------------------------- cout < > eSize >> iterator; IplImage* pErode = ErodePic(pDilate, eSize, iterator); //---------------------------------------- showPicForm(fPic.c_str(), pImg); showPicForm(fPic.c_str(), pThreshold); // showPicForm(fPic.c_str(), pSmooth); showPicForm(fPic.c_str(), pDilate); //------------------------------------------- cvNamedWindow(fPic.c_str(),1); cvShowImage(fPic.c_str(),pErode); cvWaitKey(0); cvDestroyWindow(fPic.c_str()); //---------------------------------------------- cout < > value; ContourCenter(pErode, value, x, y); cout <