基本信息
源码名称:通过图像实现Z轴定位(opencv)
源码大小:5.98M
文件格式:.rar
开发语言:C/C++
更新时间:2019-11-04
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 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 <