
程序备份——第二个摄像头找棋子
从摄像头读取视频流,获取实时图像。 边缘检测后,提取图像中的矩形区域。 进行二值化处理和填充,消除空洞。 使用OpenCV的轮廓检测算法,提取目标图像轮廓。
发布日期:2021-05-14 10:17:35
浏览次数:12
分类:精选文章
本文共 1311 字,大约阅读时间需要 4 分钟。
找棋子系统化程序
2018.6.27:基础构建,2018.7.3:从直线检测开始,2018.7.7:完成畸变校正功能相机内参数矩阵:
[830.9317838495641, 0, 938.5277008797084; 0, 830.3159163847392, 461.5411800471416; 0, 0, 1]
畸变校正系数:
[-0.3175523452664923, 0.108997589072442, 0.001226001063867935, -0.0009058942116935944, -0.01716439739558216]
基于OpenCVρά果开发的找棋子系统,包含摄像头读取、图像处理、畸变校正、矩形切割、二值化、边缘检测、填充、轮廓提取等核心功能。
系统采用相机内参数矩阵和畸变校正系数进行图像矫正,确保校正后的图像实现更精准的测量。
// 相机校正相关函数void InitMat(Mat&m, float* num) { for (int i = 0; i < m.rows; ++i) { for (int j = 0; j < m.cols; ++j) { m.at(i, j) = *(num + i * m.rows + j); } }}
// 做填充处理void fillHole(const Mat& srcBw, Mat& dstBw) { Size m_Size = srcBw.size(); Mat Temp = Mat::zeros(m_Size.height + 2, m_Size.width + 2, srcBw.type()); srcBw.copyTo(Temp(Range(1, m_Size.height + 1), Range(1, m_Size.width + 1))); cv::floodFill(Temp, Point(0, 0), Scalar(255)); Mat cutImg; Temp(Range(1, m_Size.height + 1), Range(1, m_Size.width + 1)).copyTo(cutImg); dstBw = srcBw | (~cutImg);}
主程序逻辑:
// 找轮廓检测相关代码vectorcontours;vector(Rect> RectContours);...// 检测是否有合理的旋转矩形if (RectContours.empty()) { cout << "未检测到有效的棋子轮廓" << endl; continue;}
最终目标:
通过优化算法和校正参数,实现稳定可靠的棋子测量系统,适用于工业自动化和精确测量场景。该系统能够快速识别目标区域,输出高精度的棋子轮廓和中心坐标,为后续机械臂操作提供准确位置信息。发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月30日 00时31分27秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
API_Net官方代码之训练网络
2019-03-11
Python机器学习(五十二)SciPy 基础功能
2019-03-11
Python机器学习(六十五)Matplotlib 入门
2019-03-11
关于WebView当前地址问题的疑惑
2019-03-11
Python机器学习(九十二)Pandas 统计
2019-03-11
项目实战从0到1之hive(24)企业级数据仓库构建(六):数仓理论及数仓搭建
2019-03-11
智能网联改装实训整车,智能网联汽车实训台
2019-03-11
SecSolar:为代码“捉虫”,让你能更专心写代码
2019-03-11
a标签常用属性——你是否都用过?
2019-03-11
iOS UIPickerView和UIDatePicker控件
2019-03-11
1965 - 2019 年最流行的编程语言变化
2019-03-11
如何设置Mosquitto MQTT服务器并从OwnTracks接收数据
2019-03-11
链上钱包的博彩雷区
2019-03-11
字符串匹配算法集合
2019-03-11
GRUB2
2019-03-11
HTTP代理服务器 - CONNECT SSL/TLS 原理
2019-03-11
微信JS-SDK DEMO页面和示例代码
2019-03-11
XYNUOJ
2019-03-11