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><br />#include "opencv2/highgui/highgui.hpp"<br />#include "opencv2/imgproc/imgproc.hpp"<br />#include "opencv2/contrib/contrib.hpp"<br />#include <vector><br />#include <stdio.h><br />#include <algorithm><br />using namespace std;<br />using namespace cv;<br />struct Koordinat {<br />int x;<br />int y;<br />};<br />int main()<br />{<br /> int const r1 =100,r2=75,r3=50;<br /> std::vector<Koordinat> cember1, cember2, cember3;<br />std::vector<int>dizi;<br /> Mat image = imread("C:\\OpenCV2.4.6\\56.png");<br /> //circle( image, Point( 385, 385 ), 100.0, Scalar( 0, 0, 255 ), 1, 8 );<br /> for(int i = 0; i < image.rows; ++i) {<br /> for(int j = 0; j < image.cols; ++j) {<br /> int b=int(image.at<cv::Vec3b>(i,j)[0]);<br /> int g=int(image.at<cv::Vec3b>(i,j)[1]);<br /> int r=int(image.at<cv::Vec3b>(i,j)[2]);<br /> int x=385,y=385;<br /> <br /> float cember_denklemi1,cember_denklemi2,cember_denklemi3;<br /> cember_denklemi1= sqrt((i-x)*(i-x)+(j-y)*(j-y)-(r1*r1));<br /> cember_denklemi2= sqrt((i-x)*(i-x)+(j-y)*(j-y)-(r2*r2));<br /> cember_denklemi3= sqrt((i-x)*(i-x)+(j-y)*(j-y)-(r3*r3));<br /> if(cember_denklemi1<=2.0&&b+g+r>=0)<br /> cout<<"KIRMIZI"<<i<<" "<<j<<endl;<br /> <br /> cember1.push_back({i, j});<br /> <br /> if(cember_denklemi2<=2.0&&b+g+r>=0)<br /> cout<<"YESİL"<<i<<" "<<j<<endl;<br /> cember2.push_back({i, j});<br /> if( cember_denklemi3<=2.0&&b+g+r>=0)<br /> cout<<"MAVİ"<<i<<" "<<j<<endl;<br /> <br /> cember3.push_back({i, j});<br /> }<br /> }<br /> for(int i=0;i<cember1.size();i++)<br /> {<br /> for(int j=i+1;j<cember1.size();j++)<br /> {<br /> 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)<br /> dizi.push_back(j);<br /> }<br /> <br /> }<br /> for(int j=0;j<dizi.size();j++)<br /> {<br /> cember1.erase(cember1.begin()+dizi.at(j));<br /> }<br /> dizi.clear();<br /><br />}