Я хочу найти четыре угла прямоугольника из вектора точек Point2f.Минимальное и максимальное значение Point2f vector
Этими значениями будут значения max и min x с их соответствующими значениями, а остальные два угла будут максимальными значениями y со своими соответствующими значениями y.
До сих пор я нашел max и mins для x и y. Я пытаюсь понять, как воссоединить эти максимальные значения с их другим значением, поэтому у меня есть четыре точки x, y. Это возможно?
Редактировать: прямоугольник находится под углом относительно изображения.
Это мой код, как он стоит, и работает хорошо:
vector<cv::KeyPoint> keypoints;
blob_detector->detect(backproj_dilate, keypoints);
vector<Point2f> XY;
for (size_t i=0; i<keypoints.size(); i++){
XY.push_back(keypoints[i].pt);
}
float X, Y;
float maxX= 0;
float minX = 10000;
float maxY= 0;
float minY = 10000;
for(size_t i=0; i<keypoints.size(); i++){
X = XY[i].x;
Y = XY[i].y;
if(X > maxX){
maxX = X;
}
if(X < minX){
minX = X;
}
if(Y > maxY){
maxY = Y;
}
if(Y < minY){
minY = Y;
}
}
Вы пытаетесь решить http://stackoverflow.com/questions/33938487/opencv-connecting-dots? если да, попробуйте, что предложил @Miki. – sturkmen
В то время как я изучал те, я наткнулся на simpleBlobDetector, который я считал отличным, потому что он дал мне координаты каждой точки. Вот как я сейчас здесь. Как вы думаете, что я пытаюсь сделать, невозможно? – user5608415
, если вы публикуете свой полный код, я могу показать, как делать то, что вы хотите. – sturkmen