利用OpenCV手动选取ROI识别对接接口

本文详细介绍了如何使用OpenCV库在图像处理中手动选取感兴趣区域(ROI),并应用此技巧进行焊接接口的检测。通过直线检测和轮廓识别技术,实现了精确的接口定位和分析。
摘要由CSDN通过智能技术生成
学习了opencv后便尝试着做一些图像处理,在实际项目以及生产中使用.
下面是在VS2015+opencv3.2环境下编写的小程序,目的是识别钛合金管管对接时的接口
接口处可能会存在焊点,直接上源码,如果有啥问题可以评论下留言。
//-----------------------------------【头文件包含部分】---------------------------------------
//		描述:包含程序所依赖的头文件
//---------------------------------------------------------------------------------------------- 
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/opencv.hpp>
//-----------------------------------【命名空间声明部分】---------------------------------------
//		描述:包含程序所使用的命名空间
//----------------------------------------------------------------------------------------------- 
using namespace std;
using namespace cv;
//-----------------------------------【功能实现部分】--------------------------------------------
//		描述:鼠标选取ROI、图像处理、输出检测图以及数据
//-----------------------------------------------------------------------------------------------
// 全局变量
// 根据鼠标左键活动更新标志
bool ldown = false, lup = false;
// 原始图片
Mat img;
// 定义用户选择的起点和终点
Point corner1, corner2;
// ROI
Rect box;
// 鼠标事件的回调函数
inline static void mouse_callback(int event, int x, int y, int, void *)
{
	// 按下鼠标左键时,记录其位置并将其保存在corner1中
	if (event == EVENT_LBUTTONDOWN)
	{
		ldown = true;
		corner1.x = x;
		corner1.y = y;
		cout << "Corner 1 recorded at " << corner1 << endl;
	}
	// 松开鼠标左键时,
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值