Image.SURF() is documented but not implemented (and non-free in pip OpenCV builds)
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 62/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- opencv, python
- Bereich
- computer-vision, documentation, testing
Rechercherichtung
Start in ImagePointFeatures.py by reading the existing BRISK/AKAZE pattern and _resolve_feature_create, then inspect tests/test_image_point_features.py::test_surf and the Image.SURF listing in docs/source/card-algorithms.rst. Done means either a conditionally tested SURF implementation with a clear non-free-build error and corrected docs, or removal of the unsupported API from both the docs and test.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Found 2026-10-03 while fixing #51.
docs/source/card-algorithms.rst lists Image.SURF alongside SIFT, BRISK and ORB, but there is no SURF method or SURFFeature class, and there never has been in this repo's git history (no SURF_create or def SURF in any commit). tests/test_image_point_features.py::test_surf called img.SURF() inside a bare try/except: pass, so the AttributeError was swallowed and the test passed without testing anything.
Constraint
SURF is patented/non-free. cv2.xfeatures2d.SURF_create exists in OpenCV 4.14 and 5.0 (opencv-contrib-python), but calling it raises error: (-213) because the pip wheels are not built with OPENCV_ENABLE_NONFREE. So an Image.SURF() would fail on every standard pip install unless OpenCV is built from source.
Fix
Add Image.SURF() and SURFFeature following the existing BRISK/AKAZE pattern in ImagePointFeatures.py (_resolve_feature_create, resolving via cv2.xfeatures2d), raising a clear error that explains the non-free requirement when the build can't provide it. Unskip test_surf conditionally on that availability, and fix the docs line. Alternative if SURF is judged out of scope: remove it from card-algorithms.rst and delete the test.
Related: #51
- Vorherrschende Sprache
- Python
- Sterne
- 224
- Forks
- 31
- Ø Merge
- 1 T. 20 Std.
- Gemergte PRs (30 T.)
- 28
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus petercorke/machinevision-toolbox-python
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
petercorke/machinevision-toolbox-python#152 ·
Maintainer antworten meist innerhalb von 1 Tag
-
ROSBag: RealSense bags have a 4-byte depth-units trailer that is guessed, not parsedEvtl. vergeben @theluckystrike hat das vor 1 Tag übernommen. Offenbug help wanted
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
petercorke/machinevision-toolbox-python#151 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Sources.py: quick wins, split into a package, and API unificationEvtl. vergeben @zw1915 hat das vor 1 Tag übernommen. Offenhelp wanted tech-debt
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
petercorke/machinevision-toolbox-python#150 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 43/100
petercorke/machinevision-toolbox-python#148 ·
Maintainer antworten meist innerhalb von 1 Tag
-
tech-debt
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 30/100
petercorke/machinevision-toolbox-python#147 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in petercorke/machinevision-toolbox-python
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
521xueweihan/HelloGitHub#4025 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
aws-samples/sample-per-model-bedrock#321 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 68/100
FavioVazquez/showtime#101 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
koush/ha_scrypted#81 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
google/osv-scanner-action#147 ·