昆明建设厅培训网站湖南张家界
2026/4/18 9:05:06 网站建设 项目流程
昆明建设厅培训网站,湖南张家界,毕设做音乐网站,龙岗网站 建设深圳信科先把“双目差异”变成“深度/视差”#xff0c;再用深度做分割#xff0c;这样“存在”就变得非常清晰。 推荐流程#xff1a;双目 → 视差/深度 → 存在掩膜 → 轮廓标定 极线校正#xff08;Rectify#xff09; 没有这一步#xff0c;后面的视差会非常飘#xff0c;轮…先把“双目差异”变成“深度/视差”再用深度做分割这样“存在”就变得非常清晰。推荐流程双目 → 视差/深度 → 存在掩膜 → 轮廓标定 极线校正Rectify没有这一步后面的视差会非常飘轮廓会抖动态更没法做。计算视差图Stereo Matching用 OpenCVStereoSGBM通常比 BM 好得到 disparity。视差后处理speckle 去噪、median/bilateral有条件用ximgproc::DisparityWLSFilter会明显更干净按深度分割存在生成存在mask近处物体视差大远处背景视差小用阈值/分段阈值 连通域/聚类得到“存在候选”再用形态学 close/open 填洞从mask提轮廓findContours得到轮廓需要更精细就用 depth 边界 图像边缘Canny做融合细化。为什么这比“左右做差”更准左右做差本质是“视角变化造成的像素不对齐”会把大量背景纹理误判为前景视差/深度分割直接在几何层面把前景近和背景远分开对纹理/颜色不敏感轮廓更闭合、更稳定后续做“动态”才靠谱一个可直接落地的 OpenCV C 核心示例存在mask 轮廓// 1) 假设你已经做完标定校正拿到了 rectLeft, rectRight (灰度)cv::Ptrcv::StereoSGBMsgbmcv::StereoSGBM::create(/*minDisparity*/0,/*numDisparities*/128,// 必须是16的倍数64/96/128.../*blockSize*/5);sgbm-setP1(8*1*5*5);sgbm-setP2(32*1*5*5);sgbm-setUniquenessRatio(10);sgbm-setSpeckleWindowSize(100);sgbm-setSpeckleRange(2);sgbm-setDisp12MaxDiff(1);sgbm-setMode(cv::StereoSGBM::MODE_SGBM_3WAY);cv::Mat disp16S;sgbm-compute(rectLeft,rectRight,disp16S);// 2) disparity 转 floatOpenCV 输出通常是 *16 的定点cv::Mat disp;disp16S.convertTo(disp,CV_32F,1.0/16.0);// 3) 基于视差阈值做“近物体”mask阈值要结合你的基线/分辨率调floatnearDispTh8.0f;// 例8 认为更靠近需要你现场调cv::Mat maskdispnearDispTh;// 4) 去噪填洞mask.convertTo(mask,CV_8U,255);cv::morphologyEx(mask,mask,cv::MORPH_OPEN,cv::getStructuringElement(cv::MORPH_ELLIPSE,{3,3}));cv::morphologyEx(mask,mask,cv::MORPH_CLOSE,cv::getStructuringElement(cv::MORPH_ELLIPSE,{7,7}));// 5) 连通域过滤掉小碎片cv::Mat labels,stats,centroids;intncv::connectedComponentsWithStats(mask,labels,stats,centroids,8,CV_32S);cv::Mat cleancv::Mat::zeros(mask.size(),CV_8U);for(inti1;in;i){intareastats.atint(i,cv::CC_STAT_AREA);if(area500){// 过滤阈值按分辨率调clean.setTo(255,labelsi);}}// 6) 轮廓std::vectorstd::vectorcv::Pointcontours;cv::findContours(clean,contours,cv::RETR_EXTERNAL,cv::CHAIN_APPROX_SIMPLE);什么时候“左右两张做差”还能用只有在你满足这些条件时它才可能“凑合”画面很干净、背景纹理少、光照稳定你先做了极线校正并且做了某种对应/对齐否则差异全是错位你只想要“可能存在的边界提示”不追求闭合轮廓但一旦你要为“动态”服务连续帧稳定追踪、速度/位移估计、轮廓编码记忆深度分割几乎是必选项。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询