当前位置: 首页 > news >正文

基于双目立体视觉的羊体尺参数提取及三维重构的解析方案【附代码】

✨ 长期致力于羊体尺参数、双目立体视觉、三维重构、图像分割、测点识别研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。
✅ 专业定制毕设、代码
如需沟通交流,点击《获取方式》


(1)改进Graph Cut与多尺度分水岭融合的羊体图像分割:

在真实养殖场复杂背景下,先采用多尺度分水岭算法预分割,再用模糊C均值初始化Graph Cut的种子点。交互次数从15次降到6次,平均分割时间6.47秒,分割准确率97%。针对曝光过度图像,采用带色彩恢复的多尺度Retinex增强,提高暗部细节。对200张羊图像测试,分割度量值F达到0.97。

(2)基于包络线分析的体尺测点自动识别:

从分割轮廓中提取羊体包络线,通过曲率极值定位关键点。体长测点为鼻尖到尾根的最远点对,体高为肩胛最高点,胸深为肩胛后缘垂直距离。对50头羊的二维图像测量,体长平均误差1.6cm,相对误差1.92%。采用偏最小二乘回归建立体重预估模型,包含体长、体高、臀高三个变量,预测体重平均相对误差3.17%。

(3)双目立体视觉稠密点云与NURBS曲面重构:

利用SIFT特征匹配和RANSAC极线约束获得稀疏匹配点,再通过区域生长插值生成稠密点云。点云去噪采用统计滤波,保留距离均值1.5倍标准差内的点。采用NURBS曲面拟合重构羊体三维模型,从模型中提取胸围和管围。30只羊的实测对比显示,体尺综合检测相对误差3.47%,胸围误差4.2%。虽然略高于主动式激光扫描,但无需接触且成本低。

import numpy as np import cv2 from scipy.spatial import cKDTree class SheepSegmentation: def __init__(self): self.msr_scale = [15,80,200] def msr_enhance(self, img): img_float = img.astype(np.float32)/255.0 log_img = np.log(img_float + 1e-5) for sigma in self.msr_scale: blur = cv2.GaussianBlur(img_float, (0,0), sigma) log_blur = np.log(blur + 1e-5) log_img -= log_blur return np.exp(log_img) def graph_cut_seg(self, img, seeds): # 使用opencv的grabcut简化 mask = np.zeros(img.shape[:2], np.uint8) rect = (10,10, img.shape[1]-20, img.shape[0]-20) bgdModel = np.zeros((1,65), np.float64) fgdModel = np.zeros((1,65), np.float64) cv2.grabCut(img, mask, rect, bgdModel, fgdModel, 5, cv2.GC_INIT_WITH_RECT) return mask class BodyMeasure: def extract_contour_points(self, mask): contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) cnt = max(contours, key=cv2.contourArea) # 计算凸包和曲率 hull = cv2.convexHull(cnt) return hull.reshape(-1,2) def measure_body_length(self, points): # 最远点对 tree = cKDTree(points) dist, idx = tree.query(points, k=2) far_pair = np.argmax(dist[:,1]) return np.linalg.norm(points[far_pair] - points[idx[far_pair,1]])

http://www.jsqmd.com/news/932201/

相关文章:

  • 碧蓝航线自动化终极指南:3步实现游戏智能托管
  • 如何在Windows上5分钟搭建你的个人语音助手:完全离线、零隐私泄露的终极方案
  • 2026衡阳市防水补漏公司权威推荐:卫生间、阳台、屋顶、地下室、飘窗、外墙漏水,专业防水公司TOP5口碑榜+全维度测评(2026年6月最新深度行业资讯) - 防水百科
  • 多尺度建模革新:12自由度肌肉力驱动膝关节有限元模型解析
  • 从 Java 8 到 Java 17:IDEA 2023 里创建 Spring Boot 项目的正确姿势与版本选择指南
  • ComfyUI Essentials:填补AI绘画工作流缺失的终极工具包
  • OpenCV点云投影实战:从3D到2D,手把手教你用projectPoints()搞定相机标定后处理
  • 3步掌握untrunc:MP4视频文件修复的终极实践指南
  • 连云港本地全域管道漏水检测优质靠谱商家-消防/自来水/热力管道测漏维修 地埋管道打压保压 地埋电缆故障检测 - 资讯热点
  • 别再只会用SSMS了!SQL Server 2019新手必知的5个高效操作技巧(附命令行对比)
  • 别再死记硬背公式了!用Matlab手把手复现Capon算法,搞懂DOA估计的核心
  • 揭秘智能APK管理工具:高效处理拆分文件的完整攻略
  • 矿物类中药炉甘石鉴定方法的系统方案【附数据】
  • 扣子 3.0 正式上线,开启Agent 团队协作新方式
  • 告别笨重模拟器:APK Installer让你在Windows电脑轻松运行安卓应用
  • 实战指南:5步深度部署changedetection.io网站变更监控系统
  • 告别命令行:在香橙派上为wiringPi C程序写一个简单的Makefile
  • 告别卡顿?聊聊Arm新总线CI-700/NI-700如何帮你省电又提速(附移动SoC设计思路)
  • 系统变量与环境变量:CANoe中数据传递的核心机制
  • 基于ESP8266与HomeKit的智能烛台:从硬件搭建到Siri语音控制
  • Arm DSU-110复位信号机制与电源模式解析
  • 2026年PDF拆分与合并免费工具全分享:按页、按书签、按大小随心处理 - 时时资讯
  • 手把手教你配置深信服AC的SSL解密:从中间人解密到准入插件,一篇搞定
  • 2026鄂州市防水补漏公司权威推荐:卫生间、阳台、屋顶、地下室、飘窗、外墙漏水,专业防水公司TOP5口碑榜+全维度测评(2026年6月最新深度行业资讯) - 防水百科
  • 从零搭建Arduino智能家居模型:光感照明与振动安防实战
  • 基于ESP-NOW与IMU的手势控制机器人:从姿态感知到无线运动控制
  • Sora 2体验天花板已破?实测生成1080p@60fps视频延迟压缩至1.8秒——但99%用户正因这1个设置错失性能红利
  • 从名词到动词,从独白到对话——岐金兰理论体系与全球哲思学术界的四重对话
  • 绝绝子!输入关键词,这几款AI论文写作工具就能生成图文并茂的毕业论文
  • 2026芜湖市防水补漏公司权威推荐:卫生间、阳台、屋顶、地下室、飘窗、外墙漏水,专业防水公司TOP5口碑榜+全维度测评(2026年6月最新深度行业资讯) - 防水百科