मैंने छवि में कंटूर की संख्या पुनर्प्राप्त करने के लिए सरल कोड लिखा है और छवि में कंटूर की संख्या प्राप्त की है। लेकिन यह हमेशा गलत जवाब देता है। कृपया कोई इस बारे में समझा सकता है?जावैक पर कंटूर की गलत संख्या?
import com.googlecode.javacpp.Loader;
import com.googlecode.javacv.CanvasFrame;
import static com.googlecode.javacpp.Loader.*;
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
import java.io.File;
import javax.swing.JFileChooser;
public class TestBeam {
public static void main(String[] args) {
CvMemStorage storage=CvMemStorage.create();
CvSeq squares = new CvContour();
squares = cvCreateSeq(0, sizeof(CvContour.class), sizeof(CvSeq.class), storage);
JFileChooser f=new JFileChooser();
int result=f.showOpenDialog(f);//show dialog box to choose files
File myfile=null;
String path="";
if(result==0){
myfile=f.getSelectedFile();//selected file taken to myfile
path=myfile.getAbsolutePath();//get the path of the file
}
IplImage src = cvLoadImage(path);//hear path is actual path to image
IplImage grayImage = IplImage.create(src.width(), src.height(), IPL_DEPTH_8U, 1);
cvCvtColor(src, grayImage, CV_RGB2GRAY);
cvThreshold(grayImage, grayImage, 127, 255, CV_THRESH_BINARY);
CvSeq cvSeq=new CvSeq();
CvMemStorage memory=CvMemStorage.create();
cvFindContours(grayImage, memory, cvSeq, Loader.sizeof(CvContour.class), CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);
System.out.println(cvSeq.elem_size());
CanvasFrame cnvs=new CanvasFrame("Beam");
cnvs.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
cnvs.showImage(src);
//cvShowImage("Final ", src);
}
}
यह नमूना छवि है कि मैं
प्रयोग किया जाता है लेकिन कोड हमेशा रिटर्न 8. के रूप में उत्पादन कृपया कोई इस व्याख्या कर सकते हैं?
मुझे पाइथन एपीआई का उपयोग करके इस छवि में 1 9 मिलते हैं। –
@AbidRahmank क्या आपको इसके अर्थ के बारे में कोई जानकारी है? –
मुझे 1 9 मिल गया क्योंकि, एक पूर्ण छवि सीमा, फिर 9 बाहरी सीमाएं और 9 वर्गों की 9 आंतरिक सीमाएं। अगर आपने छवि को उलटा कर दिया है, तो आपको 18 लगता है, क्योंकि छवि सीमा समाप्त हो जाएगी। यहां जाएं: http://opencvpython.blogspot.com/2012/06/hi-this-article-is-tutorial-which-try.html –