Un contour n'est rien d'autre qu'une ligne reliant tous les points le long de la limite d'une forme spécifique. En l'utilisant, vous pouvez -
trouver la forme d'un objet.
Calculez la surface d'un objet.
Détectez les objets.
Reconnaître les objets.
Vous pouvez dessiner les contours de l'image trouvée en utilisant la méthode drawContours() qui accepte les paramètres suivants -
Un objet Mat vide pour stocker l'image résultante.
Liste des objets contenant les contours trouvés.
Une valeur entière spécifiant les contours à dessiner (la valeur -ve est utilisée pour dessiner tous les contours).
Un objet scalaire spécifiant la couleur du contour.
Une valeur entière spécifiant l'épaisseur du contour.
import java.util.ArrayList; import java.util.List; import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.MatOfPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; public class DrawingContours { public static void main(String args[]) throws Exception { //Loading the OpenCV core library System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); String file ="D:\Images\shapes.jpg"; Mat src = Imgcodecs.imread(file); //Converting the source image to binary Mat gray = new Mat(src.rows(), src.cols(), src.type()); Imgproc.cvtColor(src, gray, Imgproc.COLOR_BGR2GRAY); Mat binary = new Mat(src.rows(), src.cols(), src.type(), new Scalar(0)); Imgproc.threshold(gray, binary, 100, 255, Imgproc.THRESH_BINARY_INV); //Finding Contours List<MatOfPoint> contours = new ArrayList<>(); Mat hierarchey = new Mat(); Imgproc.findContours(binary, contours, hierarchey, Imgproc.RETR_TREE, Imgproc.CHAIN_APPROX_SIMPLE); //Drawing the Contours Scalar color = new Scalar(0, 0, 255); Imgproc.drawContours(src, contours, -1, color, 2, Imgproc.LINE_8, hierarchey, 2, new Point() ) ; HighGui.imshow("Drawing Contours", src); HighGui.waitKey(); } }
Une fois exécuté, le programme ci-dessus génère la fenêtre suivante -
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!