다음 작업 후 배경 빼기, 찾기 컨투어, drawcontour와 같은 객체에 그리는 컨투어의 점을 찾고 싶습니다. 개체가 움직여서 윤곽선이 적절하지 않습니다. 그리고 개체에 그리는 윤곽에 최대 및 최소 점을 찾고 싶습니다. 누구나 찾을 방법을 알려 줄 수 있습니까? 개체가 자동차로 움직이며 카메라보기가 맨 위에 표시됩니다.감지 된 이미지의 drawcontour 포인트를 찾는 방법은 무엇입니까?
답변
vector<vector<Point>> allContours;
vector<Vec4i> hierarchy;
Mat _temp = image.clone();
findContours(_temp, allContours, RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);
allContours는 윤곽의 벡터입니다. 각 등고선의 점에 액세스 할 수 있습니다.
============================================== ============================== contous의
모든 지점 코드 아래로 그릴 수있을 것입니다.
vector<vector<Point>> allContours;
vector<Vec4i> hierarchy;
Mat _temp = imageGray.clone();
Mat ptDraw = Mat::zeros(image.rows,image.cols,CV_8UC3);
findContours(_temp, allContours, RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);
for(int i=0;i<allContours.size();i++)
{
drawContours(image, allContours, i, Scalar(0,0,255), 2, 8, hierarchy, 0, Point());
for(int j=0;j<allContours.at(i).size();j++)
{
Point pt = allContours.at(i).at(j);
circle(ptDraw,pt,1,Scalar(0,0,255),CV_FILLED);
}
}
답장을 보내 주셔서 감사합니다.이 방법을 사용했지만, 내가 얻은 것은 등고선에서 왼쪽 상단 모서리에있는 4 개의 인접 점입니다 .4 개의 모서리에서 모든 점을 원합니다. 이것을 달성하기 위해? – coco
@ 코코 만약 당신이 개체의 구석을 원한다면, 나는 모서리 탐지를 시도하는 것이 좋습니다. http://docs.opencv.org/doc/tutorials/features2d/trackingmotion/harris_detector/harris_detector.html 아니면 형상의 사각형을 경계 찾고, 사각형의 4 점을 얻을 수 있습니다. –
고맙습니다. 대답 : – coco
난 당신이 요구하는지 알 수 없습니다. 나는 내가 생각하는 것을 말하고 너는 나를 바로 잡을 것이다. 움직이는 차 또는 움직이는 차에서 비디오를 가져 와서 컨투어를 감지하고 싶습니다. 동일한 색상의 픽셀을 결합하는 각 정지 이미지를 통한 선. 그것은 어디에서든지 정확한 것인가? –
안녕하세요 @adrin 수 있습니다. 묻는 고맙습니다. 내 물건이 차가없고 카메라의 내 견해가 최고입니다. 그리고 나는 drwacontour와는 독립적 인 윤곽의 점을 원한다. drawcontour 작동 후 beacause 나는 최대 또는 최소 무엇인지 내가 감지 할 수없는 사각형에 따라 포인트를 찾습니다. 그것에 대한 내 아래의 코멘트를 참조하십시오 – coco