Gibt es opencv-Funktion wie "cvHoughCircles()", die für die Quadrat-Erkennung Programmierung für Kreis-Erkennung Programm verwenden kann, die ist CvSeq * Kreise = cvHoughCircles(), aber ich konnte nicht für die quadratische Erkennung finden.Gibt es irgendeine opencv Funktion wie "cvHoughCircles()" für die quadratische Erkennung?
Antwort
Sie benötigen keine separate Funktion dafür. OpenCV kommt mit einem quadratischen Erkennungsbeispiel (das tatsächlich Rechtecke erkennt, Sie können eine Einschränkung hinzufügen, dass alle Seiten gleich lang sein sollten, um ein Quadrat zu erhalten).
prüfen Sie diesen Link: squares.cpp
Es gibt eine gute Erklärung, wie dieser Code funktioniert in diesem SOF: How to identify square or rectangle with variable lengths and width by using javacv?
Unten ist das Ergebnis erhalten Sie, wenn Sie diesen Code anzuwenden.
bt, wenn ich versuche, Programm zu starten, das zeigt 2 Fehler wegen ** # include "opencv2/core/core.hpp" ** und ** # include "opencv2/imgproc/imgproc.hpp" ** ///// Fehler- \t fataler Fehler C1083: Kann nicht öffnen Include-Datei: 'opencv2/core/core.hpp': Keine solche Datei oder Verzeichnis.Können Sie mir bitte die Art und Weise, um diesen Fehler zu lösen – Thar1988
Es tut mir leid Ich benutze nicht C++. Kann es als eine separate Frage fragen, sagen Ihre neue Frage ist die Fortsetzung dieser Frage. –
Sie sollten diese Includes so ändern, dass ihr Pfad auf den Ort zeigt, an dem Sie diese Dateien installiert haben. Es sollte ein relativer Pfad sein, kein vollständiger Pfad. –
Es gibt keine opencv-Funktion, um direkt Quadrate zu finden.
Aber Sie können die HoughLines-Funktion verwenden, die Linien erkennt und Überschneidungen zwischen Linien mit 90-Grad-Winkeln findet.
Um Winkel zwischen den Linien messen ich Ihnen einen Java-Code-Snippet zur Verfügung stellen kann:
// returns cosine of angle between line segments 0 to 1, and 0 to 2.
// pt0 is the vertex/intersection
// angle of 90 degrees will have a cosine == 0
public static final double angleCosine(Point pt1, Point pt0, Point pt2) {
double dx1 = pt1.x - pt0.x;
double dy1 = pt1.y - pt0.y;
double dx2 = pt2.x - pt0.x;
double dy2 = pt2.y - pt0.y;
return (dx1 * dx2 + dy1 * dy2)/Math.sqrt((dx1 * dx1 + dy1 * dy1) * (dx2 * dx2 + dy2 * dy2) + 1e-10);
}
Docs über HoughLines
:http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=houghlines#houghlines
- 1. Gibt es irgendeine numpy Gruppe nach Funktion?
- 2. Gibt es irgendeine Schlaffunktion?
- 3. Gibt es irgendeine ScalaConsole?
- 4. gibt es irgendeine Funktion wie PHP explode in jquery?
- 5. Gibt es irgendeine Scala DSL für GUI?
- 6. gibt es irgendeine Beschränkung für ipa-Datei
- 7. Hough-Transformation für Iris-Erkennung in OpenCV
- 8. Gesichtsmerkmalspunkte Erkennung OpenCV mit
- 9. Gibt es irgendeine Abfrage für Cassandra wie SQL: LIKE Condition?
- 10. Gibt es interne Algorithmen in Neo4j für die Community-Erkennung?
- 11. OpenCV C++ - Rechteck Erkennung, die unregelmäßige Seite
- 12. Seriennummer Erkennung mit openCV
- 13. PHP, außer Datumsfunktion, gibt es irgendeine Funktion kann Datum decodieren?
- 14. Gibt es C# Bibliotheken für die Erkennung von benannten Entitäten?
- 15. Gesichtsmerkmale Erkennung mit OpenCV Android
- 16. Gibt es irgendeine GUI für appium auf ubuntu
- 17. OpenCV: Dominoes Kreisspots/Disketten Erkennung
- 18. Gibt es irgendeine Alternative zu Jekyll {{% include%}}?
- 19. opencv - Objektverfolgung mit Feature-Erkennung
- 20. Gibt es irgendeine Art von "Ausdrucksklasse" (C++)
- 21. Pupille Erkennung in OpenCV & Python
- 22. Opencv SUFR Feature-Erkennung. Ist es zuverlässig genug?
- 23. Proper Ansatz zur Feature-Erkennung mit opencv
- 24. Gibt es irgendeine gerenderte HTML-Diff-Engine für .NET
- 25. Bildschirm-Erkennung mit Opencv/Emgucv
- 26. Gibt es irgendeine Art von Abhängigkeits-Tracer für Asp.Net-Apps?
- 27. Gibt es irgendeine Umkehrung der Kontrollrahmen für Javascript?
- 28. Gibt es irgendeine Art von Import für Android-Layout-Dateien?
- 29. Canny Erkennung in Python mit OpenCV
- 30. Hilfe für die dilate Funktion OpenCV
Da Quadrate wesentlich einfacher als Kreise Detektieren Detektieren, würde ich nicht überrascht, wenn squarefinding als eine Übung zu dem Coder gelassen wurde. Sie müssen im Wesentlichen lange kollinear verbundene Segmente finden, die sich im rechten Winkel schneiden, und Sie können diese Segmente mit ein wenig Filterung und einem Kantendetektor erzeugen. Die meisten Tools, die Sie dafür benötigen, sollten bereits in OpenCV sein. – Rook
Und dazu verwenden Sie Hough-Transformation für Linien, die auch in OpenCV implementiert ist;) – CTZStef
Siehe hierzu: http://stackoverflow.com/questions/10533233/opencv-c-obj-c-advanced-square- Erkennung Es gibt drei oder vier Ansätze, die Sie unter diesem Link ausprobieren könnten. Viel Spaß :) – ChathuraSam