我想找到一个轮廓的中心,而不做这么多的计算。是否有一个内置的功能,在opencv?
对于'几何中心',获取轮廓的boundingRect(),然后:
cx = br.x+br.width/2; cy = br.y+br.height/2;
为"质心",求轮廓矩(),则:
cx = m.m10 / m.m00; cy = m.m01 / m.m00;
要么你没有做过任何研究,要么这些已经问过和回答过的问题不是你想问的:
轮廓/物体在opencv中的质心?
OpenCV 2质心
如果是后者,请更详细地说明问题。
希望能帮到你。这个链接有python和c++代码片段
std::vector<cv::Point> centers;
for (int i=0; i<contours.size(); i++){
cv::Moments M = cv::moments(contours[i]);
cv::Point center(M.m10/M.m00, M.m01/M.m00);
centers.push_back(center);
}