学习了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;
}
// 松开鼠标左键时,
利用OpenCV手动选取ROI识别对接接口
最新推荐文章于 2023-03-29 10:05:40 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)