Login
Newsletter
Werbung

Thema: Webcambilder einlesen und bearbeiten mit Python und OpenCV

23 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
1
Von pepeight am Do, 21. Juli 2011 um 16:50 #

Lieber Autor,
ein wenig mehr PEP8 hätte den Codebeispielen sicher nicht geschadet.

[
| Versenden | Drucken ]
  • 1
    Von Anonymous am Sa, 23. Juli 2011 um 16:57 #

    Was soll eigentlich immer dieses Herumgeningel von PEP8-Faschisten? Wer den Code so wie er ist nicht versteht, wird ihn auch mit PEP8 nicht verstehen.

    [
    | Versenden | Drucken ]
    • 1
      Von Bolitho am Sa, 23. Juli 2011 um 20:08 #

      PEP8 ist eben [b]der[/b] Styleguide für Python. Die Syntax einer Sprache bietet einem Entwickler sehr viele Freiheiten, die nicht immer erwünscht sind. Und wer sich an PEP8 hält, dessen Code ist eben lesbarer, da er sich in einer Form präsentiert, die der Mehrheit der Python-Entwickler geläufig ist.

      In einem Artikel wie diesem erwarte ich auch PEP8 Konformität!

      [
      | Versenden | Drucken ]
      • 1
        Von Anonymous am Sa, 23. Juli 2011 um 20:36 #

        Dieser Lesbarkeitsunsinn, der von Styleguide-Faschisten immer kolportiert wird, erinnert mich immer an das Zeugs, was man in Esoterikzeitschriften liest. Komischerweise hatte ich noch nie Probleme, Code zu verstehen, der in einem anderen Coding-Style geschrieben ist als der, den ich gewöhnlich verwende.

        Also nochmal: Wer diesen Code nicht versteht, PEP8 hin oder her, der sollte an seinen Python-Fähigkeiten arbeiten oder das Programmieren ganz sein lassen. Denn beim Programmieren ist der Style Guide so ziemlich das letzte, was interessant ist. Außer für Paragrafenreiter und Regelfaschisten.

        [
        | Versenden | Drucken ]
        • 1
          Von Bolitho am Sa, 23. Juli 2011 um 21:39 #

          Denn beim Programmieren ist der Style Guide so ziemlich das letzte, was interessant ist. Außer für Paragrafenreiter und Regelfaschisten.
          Sorry, aber das ist blanker Unsinn! Uniformität ist ein wichtiges Prinzip beim Programmieren, speziell wenn der Code nach außen hin sichtbar ist oder sogar im Team erstellt wird.

          Da Python dynamisch typisiert ist, ist es sogar ein Muss, sinnvolle Namen zu verwenden und diese entsprechend des Styleguides zu formatieren. Damit erkennt man sofort, ob es sich um eine Funktion, Klasse oder gar Konstante handelt. In diesem Code ist das übrigens nicht der Fall.

          Natürlich ist dieser Code einfach gestrickt - aber er wird ja auch von Anfängern gelesen, die sich dann einen schlechten Stil angewöhnen.

          Ich kann Dir Deine Meinung nicht verbieten, stemme mich hier aber öffentlich dagegen, damit Unbedarfte sich zumindest kritisch damit auseinandersetzen (wenn sie den Sinn nicht sofort erkennen).

          [
          | Versenden | Drucken ]
          • 1
            Von kelvan am Mo, 25. Juli 2011 um 12:22 #

            fullack

            spätestens wenn man im Team arbeitet flucht man wenn sich jemand nicht an die Styleguides hält.
            Besonders mit Tabcompletion errät man zB Funktionsnamen sofort wenn sie einheitlich gewählt wurden, und muss nicht den ganzen Code lesen nur um ein Modul zu verwenden. (DocStrings alleine sind nicht ausreichend)

            [
            | Versenden | Drucken ]
1
Von georg am Do, 21. Juli 2011 um 23:05 #

Es sollten vielleicht ein paar link zur API rein:
http://opencv.willowgarage.com/documentation/index.html

Und für Anfänger: Learning OpenCV: Computer Vision with the OpenCV
http://www.amazon.com/Learning-OpenCV-Computer-Vision-Library/dp/0596516134

Das ist zwar beides C(++) aber wenn man halbwegs mit python klarkommt ist das kein Problem

PS: Ich finde deutschen Code verstörend

[
| Versenden | Drucken ]
1
Von Ernst am Sa, 23. Juli 2011 um 10:05 #

Mehr kommentieren hätte den Anfängern hier gut geholfen.

[
| Versenden | Drucken ]
1
Von Bolitho am Sa, 23. Juli 2011 um 20:18 #

Neben mangelndem PEP8 hat der Code noch einige Ungereimtheiten zu bieten.

ord("q"):
Hier sollte man "!=" oder "not ==" verwenden.

Der eigene (recht hässliche) CLI-Parser (ParameterLesen) ist total unnötig! Python bietet mit Argparse (oder bei älteren Versionen Optparse) doch eine mächtige Lib dafür out of the box.

Natürlich ist es schön, dass der Autor sein Wissen weitergibt und sich die Mühe macht, einen Artikel zu verfassen. Aber spätestens jetzt sollte er seinen Code mal im python-forum.de zum Review freigeben und anschließend refactorn. In der jetzigen Form ist der Code unpythonisch.

[
| Versenden | Drucken ]
0
Von Robert Tulke am Mo, 25. Juli 2011 um 23:50 #

An die, die sich hier über die Lesbarkeit vom Code aufregen und die, die meinen es gibt nur einen Weg der nach Rom führt.

Es nervt einfach als lesender nicht wirklich wissender wenn man von den Kommentaren ein schlechtes Bild vom Beispiel in diesem Fall Quellcode bekommt.

Tipps sind angebracht, aber den Code schlecht machen weil irgendwas nicht 100% konform ist oder nicht nach aktuellem Standard umgesetzt wurde, ist so wie ihr vorgeht, ignorant und intolerant.

Wenn jemand schon seinen Code zur freien (je nach Lizenz) Verfügung stellt, steht es jedem Frei diesen nach belieben anzupassen. Man sollte dankend u. anerkennend dem gegenüberstehen, Tipps oder Anmerkungen dazu abgegeben. Nicht aber sich darüber aufregen warum man den Code nun so geschrieben hat.

Nicht jeder ist Vollzeit- Programmierer und kennt jede Bibliothek, jede Ecke und Kante der jeweiligen Sprache. Immer schön daran denken ihr habt auch alle mal angefangen. Ansonsten wird man schnell als Ignoranter Idiot abgestempelt!

Einen Dank an den Autor

[
| Versenden | Drucken ]
  • 0
    Von pepeight am Di, 26. Juli 2011 um 18:34 #

    Natürlich trägt der Schreiber/Programmierer Verantwortung für den Quark, den er verzapft. Und wenn 2m Selbststudium schon zu viel sind um ein Minimum von Standard einzuhalten, dann zieht man daraus eben seine Schlüsse hinsichtlich des weiteren Textes. Sollte der Schreiber keine Ahnung haben, um Himmels Willen, dann lass' die Pfoten davon.
    Das hat nichts mit Profiprogrammierer zu tun, aber gerade bei Python soll Code selbsterklärend sein. Im Übrigen hat er keine Lizenz angegeben, also unterstelle den Autor nichts.

    [
    | Versenden | Drucken ]
    0
    Von Bolitho am Di, 26. Juli 2011 um 21:03 #

    Natürlich ist es toll, dass jemand sein Wissen weitergibt. Allerdings ist doch wohl inhaltliche Kritik dann eben eine logische Konsequenz!

    Insofern schrieb ich ja schon, dass er seinen Code mal einem Review unterziehen sollte und die Änderungen dann einbauen kann.

    Nebenbei geht es nicht nur um die Lesbarkeit bei seinem Code!

    [
    | Versenden | Drucken ]
0
Von Wolfgang Kabus am So, 22. Januar 2012 um 18:07 #

hab jetzt Beweisvideo vom Ein und Aus an meiner Katzenklappe - inklusive Nachbarkater!

[
| Versenden | Drucken ]
0
Von Michu am Fr, 1. Juni 2012 um 18:25 #

Mit der neuesten Version von PythonXY hatte ich einen import error, aber mit folgendem import funktioniert es wie beschrieben:
from cv2 import cv
Und Blitzschnell kann man seine Webcambilder anzeigen :)

[
| Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung