Sto sviluppando un progetto usando java per identificare i componenti usando il pacchetto opencv ma sono nuovo di javacv e voglio solo sapere come identificare i rettangoli in una particolare immagine sorgente per favore qualche persona esperta può dare qualche linea guida di base per archiviare questo compito. Cerco di utilizzare la corrispondenza dei modelli qui, ma è in grado di identificare solo il rettangolo delle dimensioni esatte. Ma nel mio caso ho bisogno di identificare un rettangolo di lunghezza variabile?Come identificare il quadrato o il rettangolo con lunghezze e larghezze variabili usando javacv?
import java.util.Arrays;
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
public class TestingTemplate {
public static void main(String[] args) {
//Original Image
IplImage src = cvLoadImage("src\\lena.jpg",0);
//Template Image
IplImage tmp = cvLoadImage("src\\those_eyes.jpg",0);
//The Correlation Image Result
IplImage result = cvCreateImage(cvSize(src.width()-tmp.width()+1, src.height()-tmp.height()+1), IPL_DEPTH_32F, 1);
//Init our new Image
cvZero(result);
cvMatchTemplate(src, tmp, result, CV_TM_CCORR_NORMED);
double[] min_val = new double[2];
double[] max_val = new double[2];
//Where are located our max and min correlation points
CvPoint minLoc = new CvPoint();
CvPoint maxLoc = new CvPoint();
cvMinMaxLoc(result, min_val, max_val, minLoc, maxLoc, null); //the las null it's for
optional mask mat()
System.out.println(Arrays.toString(min_val)); //Min Score
System.out.println(Arrays.toString(max_val)); //Max Score
CvPoint point = new CvPoint();
point.x(maxLoc.x()+tmp.width());
point.y(maxLoc.y()+tmp.height());
cvRectangle(src, maxLoc, point, CvScalar.WHITE, 2, 8, 0); //Draw the rectangule result in original img.
cvShowImage("Lena Image", src);
cvWaitKey(0);
//Release
cvReleaseImage(src);
cvReleaseImage(tmp);
cvReleaseImage(result);
}
}
Si prega di qualcuno può aiuto per raggiungere questo
Squares? Gli scudieri sono più difficili. –
Dave: Si prega di fornire qualche riga di gilda per archiviare questo> –
È scudiero o SQUARE? se no, che cosa è lo scudiero? google dice che è armatura di soldati. E 'questo quello che vuoi? Meglio aggiungere un'immagine. –