我是JavaCv的新手。我的任務是在圖像上查找符號並生成單個符號的圖片。 首先,我看到這樣的畫面: 後來我做的閾值,並得到這個: 我試圖使用cvFindContours的並繪製每個符號的矩形,我的代碼:JavaCV檢測二進制圖像上的驗證碼字母
String filename = "captcha.jpg";
IplImage firstImage=cvLoadImage(filename);
Mat src = imread(filename, CV_LOAD_IMAGE_GRAYSCALE);
Mat dst = new Mat();
threshold(src, dst, 200, 255, 0);
imwrite("out.jpg", dst);
IplImage iplImage=cvLoadImage("out.jpg",CV_8UC1);
CvMemStorage memStorage=CvMemStorage.create();
CvSeq contours=new CvSeq();
cvFindContours(iplImage,memStorage,contours,Loader.sizeof(CvContour.class),CV_RETR_CCOMP,CV_CHAIN_APPROX_SIMPLE,cvPoint(0,0));
CvSeq ptr;
CvRect bb;
for (ptr=contours;ptr!=null;ptr=ptr.h_next()){
bb=cvBoundingRect(ptr);
cvRectangle(firstImage , cvPoint(bb.x(), bb.y()),
cvPoint(bb.x() + bb.width(), bb.y() + bb.height()),
CvScalar.BLACK, 2, 0, 0);
}
cvSaveImage("result.jpg",firstImage);
}
請,需要你的幫助。
你爲什麼不使用的OpenCV 2.x或3.0功能?在我看來,這些cv ~~功能最近幾乎不推薦使用。 –