वर्तमान में मैं छवि प्रसंस्करण प्रोजेक्ट विकसित कर रहा हूं और मैं छवि प्रसंस्करण घटकों को विकसित करने के लिए जावैक का उपयोग कर रहा हूं। मैं एक छवि के कुछ दिलचस्प हिस्सों को निकालने में सक्षम था और अब मुझे उन वस्तुओं के एक्स और वाई निर्देशांक पढ़ने की जरूरत है। यह छवि है कि मैंjavacv में निकाले गए ऑब्जेक्ट्स के x, y निर्देशांक कैसे प्राप्त करें?
haveextracted है और मैं उन वस्तुओं की पहचान करने और उन वस्तुओं के आसपास वर्ग आकर्षित करने के लिए की जरूरत है। मैं कुछ ट्यूटोरियल के माध्यम से चला गया और निम्नलिखित कोड का उपयोग कर वस्तुओं की पहचान करने की कोशिश की।
IplImage img="sourceimage";
CvSize sz = cvSize(img.width(), img.height());
IplImage gry=cvCreateImage(sz, img.depth(), 1);
cvCvtColor(img, gry, CV_BGR2GRAY);
cvThreshold(gry, gry, 200, 250, CV_THRESH_BINARY);
CvMemStorage mem = CvMemStorage.create();
CvSeq contours = new CvSeq();
CvSeq ptr = new CvSeq();
cvFindContours(gry, mem, contours, Loader.sizeof(CvContour.class) , CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
CvRect boundbox;
for (ptr = contours; ptr != null; ptr = ptr.h_next()) {
boundbox = cvBoundingRect(ptr, 0);
if(boundbox.height()>10||boundbox.height()>10){
cvRectangle(gry, cvPoint(boundbox.x(), boundbox.y()), cvPoint(boundbox.x() + boundbox.width(), boundbox.y() + boundbox.height()),CvScalar.BLUE, 0, 0, 0);
System.out.println(boundbox.x()+", "+boundbox.y());
}
}
cvShowImage("contures", gry);
cvWaitKey(0);
लेकिन यह वस्तुओं के चारों ओर आयत के रूप में नहीं खींचता है। मैं जानना चाहता हूं कि क्या मैं उन वस्तुओं की पहचान करने के लिए cvFindContours विधि का उपयोग कर सकता हूं? कृपया कोई बता सकता है कि javacv/opencv का उपयोग करके मेरे उद्देश्य को कैसे संग्रहित किया जाए?
तो जब आप इन आयतों आकर्षित कैसे वे वस्तुओं आप के सापेक्ष हैं? – MahdeTo
अपने प्रश्न के उत्तर क्यों अनदेखा करते हैं ?? – ArtemStorozhuk
@ माहादे मुझे यह जानने की जरूरत है कि इन वस्तुओं के चारों ओर आयताकार कैसे खींचा जाए। –