Arkadaşlar Merhaba forumda yeniyim ve bir konuyu size danışmak istiyorum ben işin içinden çıkamadım araştırdım bulamadım
Sorun şu ben x ve y olmak üzere koordinatları bir vectöre kaydetmek istiyorum fakat iki boyutlu olduğu için yapı oluşturmam gerekiyormuş onu hallettim ve şimdi de yakın koordinatları silmek istiyorum Mesela 210 211;209 211 ;210 212 gibi loordinatlar varsa bunlardan bir kalsa yeter ama nasıl sileceğimi bilmiyorum Kod burada yardım ederseniz , düzeltirseniz sevinirim
#include <iostream>
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/contrib/contrib.hpp"
#include <vector>
#include <stdio.h>
#include <algorithm>
using namespace std;
using namespace cv;
struct Koordinat {
int x;
int y;
};
int main()
{
int const r1 =100,r2=75,r3=50;
std::vector<Koordinat> cember1, cember2, cember3;
std::vector<int>dizi;
Mat image = imread("C:\\OpenCV2.4.6\\56.png");
//circle( image, Point( 385, 385 ), 100.0, Scalar( 0, 0, 255 ), 1, 8 );
for(int i = 0; i < image.rows; ++i) {
for(int j = 0; j < image.cols; ++j) {
int b=int(image.at<cv::Vec3b>(i,j)[0]);
int g=int(image.at<cv::Vec3b>(i,j)[1]);
int r=int(image.at<cv::Vec3b>(i,j)[2]);
int x=385,y=385;
float cember_denklemi1,cember_denklemi2,cember_denklemi3;
cember_denklemi1= sqrt((i-x)*(i-x)+(j-y)*(j-y)-(r1*r1));
cember_denklemi2= sqrt((i-x)*(i-x)+(j-y)*(j-y)-(r2*r2));
cember_denklemi3= sqrt((i-x)*(i-x)+(j-y)*(j-y)-(r3*r3));
if(cember_denklemi1<=2.0&&b+g+r>=0)
cout<<"KIRMIZI"<<i<<" "<<j<<endl;
cember1.push_back({i, j});
if(cember_denklemi2<=2.0&&b+g+r>=0)
cout<<"YESİL"<<i<<" "<<j<<endl;
cember2.push_back({i, j});
if( cember_denklemi3<=2.0&&b+g+r>=0)
cout<<"MAVİ"<<i<<" "<<j<<endl;
cember3.push_back({i, j});
}
}
for(int i=0;i<cember1.size();i++)
{
for(int j=i+1;j<cember1.size();j++)
{
if((cember1.at(i).x-cember1.at(j).x)*(cember1.at(i).x-cember1.at(j).x)+(cember1.at(i).y-cember1.at(j).y)*(cember1.at(i).y-cember1.at(j).y)<3)
dizi.push_back(j);
}
}
for(int j=0;j<dizi.size();j++)
{
cember1.erase(cember1.begin()+dizi.at(j));
}
dizi.clear();
}