Schmidt | Raspberry Pi programmieren mit C/C++ und Bash | E-Book | sack.de
E-Book

E-Book, Deutsch, 850 Seiten

Reihe: makers DO IT

Schmidt Raspberry Pi programmieren mit C/C++ und Bash

Mehr als 50 Programme rund um Foto, Video & Audio. Inkl. Einsatz von WiringPi, ALSA & OpenCV

E-Book, Deutsch, 850 Seiten

Reihe: makers DO IT

ISBN: 978-3-446-45349-4
Verlag: Carl Hanser
Format: PDF
Kopierschutz: 1 - PDF Watermark



So realisieren Sie Ihre Foto-, Video- und Audioprojekte mit dem Raspberry Pi, C/C++ und Bash Haben Sie bereits Programmiererfahrung und möchten hardwarenahe Projekte realisieren? Sie wollen den Raspberry Pi nutzen, sind aber ein Linux-Neuling? In diesem Buch erfahren Sie alles, was Sie wissen müssen, um Projekte rund um Foto, Video & Audio mit dem Raspberry Pi, C/C++ und Bash erfolgreich in die Tat umzusetzen – mit und ohne zusätzliche Elektronik.Folgende Themen erwarten Sie:- Raspbian-Konfiguration, Bedienoberfläche, Backup & Restore- Programmstart über Desktop-Icons, Programmieren mit Bash/C/C++, Skriptdateien mit ASCII-GUI, Entwicklungsumgebungen- Schaltungen für den GPIO-Port, Einsatz von Sensoren & WiringPi- Netzwerke & Fernzugriff: SSH-Server, Linux-PC als Client, PuTTY als Windows-Client, Zugriff über LAN/WLAN - ALSA, Audiorecord, Audacity, Audiosignalanalyse, Sprachsynthese, Vokalerkennung- Fotografieren & Filmen mit Webcam/Kameramodul, Videoplayer mit/ohne GPU-Nutzung- Objekterkennung mit OpenCV & Motion- Auf der Verlagswebsite: sämtliche Codebeispiele aus dem Buch- Website zum Buch: www.progpi.de- E-Book komplett in Farbe mit klickbaren Weblinks und Querverweisen, Syntax-Highlighting in der EPUB-VersionBeispielanwendungen liefern Ihnen Ideen für eigene Projekte – sei es ein Entfernungssensor mit LCD-Anzeige oder eine Kamera-Fernsteuerung. Das Grundlagenwissen aus diesem Buch ist nahezu auf jede Linux-Distribution anwendbar.
Schmidt Raspberry Pi programmieren mit C/C++ und Bash jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Inhaltsverzeichnis;6
2;Vorwort;18
3;1 Die Welt des Raspberry Pi;22
3.1;1.1 Die Modelle des Raspberry Pi;22
3.1.1;1.1.1 Energieversorgung;26
3.1.2;1.1.2 Der Raspberry Pi Zero W;27
3.1.3;1.1.3 Raspberry Pi 2 und Pi 3;31
3.2;1.2 SD-Karten und microSD-Karten;34
3.3;1.3 Von Wheezy zu Stretch – Downloads für Raspbian;35
3.3.1;1.3.1 Die Release Notes als Chronik;36
3.4;1.4 Über NOOBS zur Raspbian SD-Karte;37
3.4.1;1.4.1 NOOBS aus dem Internet holen und entpacken;38
3.4.2;1.4.2 NOOBS auf die leere (micro)SD-Karte kopieren;40
3.5;1.5 NOOBS auf dem Raspberry Pi;41
3.5.1;1.5.1 Wohin mit dem Bild?;41
3.5.2;1.5.2 Energie für NOOBS;42
3.6;1.6 Der NOOBS Recovery-Modus;48
4;2 Der Raspberry Pi und Linux;52
4.1;2.1 Das Abbild von Raspbian für die SD-Karte;53
4.1.1;2.1.1 Die Abbilddatei mit einem Linux-PC übertragen;57
4.1.2;2.1.2 Der Win32 Disk Imager;57
4.2;2.2 Die Grundkonfiguration des Raspbian Desktops;59
4.2.1;2.2.1 Tastaturlayout und Spracheinstellung;60
4.2.2;2.2.2 Konfiguration von Autologin, Hostname und Bootmodus;68
4.2.3;2.2.3 Passwortänderung;69
4.2.4;2.2.4 Freigabe für SSH und Abfrage der IP-Adresse;70
4.3;2.3 Der Raspberry Pi Desktop als Bedienoberfläche;71
4.3.1;2.3.1 Die Lage der Panelleiste ändern;72
4.3.2;2.3.2 Der Aufbau der Panelleiste;72
4.3.3;2.3.3 Programmstart über Tastaturkürzel;73
4.3.4;2.3.4 Eine symbolische Desktop-Verknüpfung hinzufügen;74
4.3.5;2.3.5 Eine neue Desktop-Datei erzeugen;75
4.3.6;2.3.6 Ein Programm der Anwendungsstartleiste hinzufügen;77
4.3.7;2.3.7 Miniprogramme im Panel;78
4.3.8;2.3.8 Das Konsolenkommando lxpanelctl;80
4.4;2.4 Der Main Menu Editor Alacarte;80
4.5;2.5 Das Erscheinungsbild anpassen mit LxAppearance;81
4.6;2.6 Der Raspbian Desktop auf dem PC oder Mac;83
4.7;2.7 Nützliche Programme ohne und mit grafischer Oberfläche;85
4.8;2.8 Autostart mit und ohne GUI;92
4.8.1;2.8.1 Die versteckte Datei .bashrc;93
4.8.2;2.8.2 Die Datei rc.local;95
4.9;2.9 Die Verwendung von LXTerminal in Desktop-Dateien;97
4.10;2.10 Pakete – Installation und Verwaltung;99
4.10.1;2.10.1 Der vorinstallierte Paketmanager pi-packages;100
4.10.2;2.10.2 Der Paketmanager Synaptic;101
4.10.3;2.10.3 Paketverwaltung über Konsolenkommandos;102
4.11;2.11 Die Bildschirmauflösung mit und ohne den RPi-Desktop einstellen;110
4.11.1;2.11.1 Über HDMI zum Fernseher;114
4.11.2;2.11.2 Über den HDMI/VGA-Adapter zum Monitor;115
4.11.3;2.11.3 Einstellung der Auflösung mit raspi-config;117
4.12;2.12 Audioumschaltung und Bluetooth-Lautsprecher;119
4.13;2.13 Systembackup im laufenden Betrieb;122
5;3 Betriebssysteme, Partitionen, Backup und Restore;124
5.1;3.1 SD-Karte, USB-Stick, Festplatte – was erkennt der Raspberry Pi?;126
5.2;3.2 SD-Karten mit Betriebssystem;129
5.2.1;3.2.1 Hinein in die Box;129
5.2.2;3.2.2 Der passende Aufkleber;130
5.2.3;3.2.3 Binäre Einheiten und die Kapazität von SD-Karten;130
5.3;3.3 SD-Karten identifizieren mit sd-label.sh;131
5.4;3.4 Hinweise zu Backup und Restore;134
5.5;3.5 Formatierung von SD-Karten;136
5.6;3.6 Das USB Image Tool;138
5.7;3.7 Direktkopie der SD-Karte mit piclone;140
5.8;3.8 Der Partitionsmanager GParted;142
5.9;3.9 Eine bootfähige SD-Karte mit sd-restore.sh erzeugen;145
5.10;3.10 Backup von SD-Karten mit sd-back.sh;150
5.10.1;3.10.1 Nullen vor dem Backup;154
5.11;3.11 Ein Blick in das Abbild der SD-Karte;156
5.12;3.12 Festplatten am Raspberry Pi;158
5.12.1;3.12.1 Der Einhängepunkt und die Systemkonsole;162
5.12.2;3.12.2 Einhängen der Partition über /etc/fstab;163
6;4 Programmieren mit dem Pi;164
6.1;4.1 Dateien und Programme zum Buch;165
6.2;4.2 Paketinstallation über die Skriptdateien zum Buch;167
6.3;4.3 Die Skriptdateien zum Buch – was ist wo?;169
6.4;4.4 Die Shell als Kommandointerpreter;171
6.4.1;4.4.1 Umgebungsvariablen;174
6.4.2;4.4.2 vcgencmd;175
6.5;4.5 Strings in Bash, C und C++;177
6.6;4.6 Programmieren mit Bash;178
6.6.1;4.6.1 Eingabe, Ausgabe und if else;178
6.6.2;4.6.2 Feldtrenner und float-Werte;181
6.6.3;4.6.3 Formatierte Ausgabe mit printfcalc.sh;183
6.6.4;4.6.4 Ausgabekommandos für ASCII-Dateien;183
6.6.5;4.6.5 Bash-Arrays mit numerischem Index;184
6.6.6;4.6.6 Assoziative Bash-Arrays mit Wortindex;186
6.6.7;4.6.7 Funktionen, Parameter und Exit-Codes;187
6.6.8;4.6.8 Ausgabeumleitung und Rückgabewerte;188
6.6.9;4.6.9 Ein Bash-Skript mit Funktionen und Indexsuche;191
6.6.10;4.6.10 Indexelemente sortieren und finden mit assosort.sh;194
6.6.11;4.6.11 Ausgabespalten neu anordnen mit dosdir.sh;195
6.6.12;4.6.12 Die Ausgabe Einlesen und die IFS-Trennzeichen;197
6.6.13;4.6.13 Filtern mit cut und grep;200
6.6.14;4.6.14 Farben in der Konsolenausgabe;207
6.6.15;4.6.15 Zeichen entfernen mit trim.sh;209
6.6.16;4.6.16 Dateinamen oder Pfade extrahieren;210
6.6.17;4.6.17 Die Position einer Zeichengruppe oder eines Strings finden;210
6.6.18;4.6.18 Ein Blick in raspi-config;212
6.7;4.7 Bash in Beispielen;214
6.7.1;4.7.1 Wie copydesk.sh funktioniert;214
6.7.2;4.7.2 Farbige Listings mit colordir.sh;215
6.7.3;4.7.3 Analyse von Partitionsgrößen mit sd-info.sh;217
6.7.4;4.7.4 Feldinhalte aus Audiodateien kompakt anzeigen;220
6.7.5;4.7.5 EXIF-Daten anzeigen mit jhead.sh;222
6.7.6;4.7.6 Metadaten ermitteln mit mediainfo.sh;225
6.7.7;4.7.7 Diagnose der Bildschirmauflösung mit scrreso.sh;229
6.7.8;4.7.8 Eine Bildschirmecke zur Videowiedergabe nutzen (OMXPlayer);231
6.7.9;4.7.9 Prozesse anzeigen mit pgrep_htop.sh;233
6.8;4.8 Skriptdateien mit ASCII-GUI (whiptail/dialog);238
6.8.1;4.8.1 Vom Skript zum Kommando;242
6.8.2;4.8.2 Eine allgemeingültige Dateiauswahl im Skript verwenden;244
6.8.3;4.8.3 Programmauswahl über Checkboxes;246
6.8.4;4.8.4 Bilder als ASCII-Art anzeigen;249
6.8.5;4.8.5 Programmstart mit fotomenu.sh;255
6.8.6;4.8.6 Programmstart über Desktop-Dateien und ASCII-Dialoge;258
6.8.7;4.8.7 Dateiauswahl bei sd-mount.sh;261
6.8.8;4.8.8 Der Programmstarter opencvgui.sh als ASCII-GUI;264
6.9;4.9 C-Programme mit Raspbian nutzen (hello_pi/GPU);266
6.9.1;4.9.1 Videoprojektion auf eine rotierende Teekanne (hello_teapot.c);268
6.9.2;4.9.2 Mathematische Kunst mit hello_triangle2.c;269
6.9.3;4.9.3 Das Skript helloGPU.sh auf einem „großen“ Linux-PC starten;270
6.9.4;4.9.4 Mit make zum eigenen C-Programm;271
6.9.5;4.9.5 Das Skript helloGPU2.sh für weitere GPU-Programme;274
6.9.6;4.9.6 Programme starten mit system und popen;275
6.9.7;4.9.7 Zeit ist relativ;278
6.9.8;4.9.8 Mausklicks, Bewegungen und Scrollevents auswerten;280
6.9.9;4.9.9 Von der Mausbewegung zur Audioausgabe;285
6.10;4.10 Der Qt Creator als Entwicklungsumgebung;289
6.11;4.11 Die Entwicklungsumgebung Code::Blocks;294
6.12;4.12 GTK+ Programmierung;297
6.13;4.13 Die Geany-Entwicklungsumgebung;300
6.14;4.14 Python und IDLE als Entwicklungsumgebung;303
6.15;4.15 Zenity-Dialoge;307
6.16;4.16 GitHub und Raspbian;308
7;5 Elektronik und Programme für den GPIO-Port;310
7.1;5.1 Schaltungen aufbauen;313
7.1.1;5.1.1 Drähte oder Drahtbrücken;316
7.1.2;5.1.2 SMD-Adapter und ICs;318
7.1.3;5.1.3 Widerstände, Widerstandsnetzwerke und Kondensatoren;319
7.1.4;5.1.4 Der LED-Test;321
7.2;5.2 Eine LED per Software schalten (Ein/Aus);322
7.3;5.3 Eine LED per Software dimmen (Pulsweitenmodulation);325
7.4;5.4 Eine LED am Optokoppler;327
7.5;5.5 GPIO-Pins im Read-Modus (Bash);328
7.5.1;5.5.1 GPIO-Pins zyklisch abfragen (Polling);329
7.5.2;5.5.2 GPIO-Pins im Interrupt-Modus (Flankenerkennung);330
7.5.3;5.5.3 Flankenerkennung bei mehreren Schaltern;333
7.6;5.6 WiringPi-Beispiele mit C-Quelltext;336
7.6.1;5.6.1 WiringPi im Interrupt-Modus;337
7.7;5.7 Experimente zur Impulswahl;338
7.7.1;5.7.1 Audiodateien durch Impulswahl abspielen;342
7.7.2;5.7.2 Impulsdiagramme mit GnuPlot;343
7.8;5.8 Von der Helligkeit zur Frequenz;346
7.8.1;5.8.1 Frequenzen messen mit dem Oszilloskop und mit r2f.cpp;347
7.9;5.9 Stufenschalter, Tastenfelder, Encoder und Codierschalter;352
7.10;5.10 Analog/Digital-Wandler für die SPI-Schnittstelle;354
7.10.1;5.10.1 Analoge Messwerte mit spiloop.c erfassen;357
7.11;5.11 Die I2C-Schnittstelle;359
7.12;5.12 Analog/Digital-Wandler für I2C;360
7.13;5.13 Ein LCD-Display am I2C-Bus;365
7.13.1;5.13.1 Ausgaben mit sysinfo.sh;370
7.13.2;5.13.2 PIDs auf dem LCD-Display mit pgrep_menuctrl.sh;372
7.14;5.14 Die C-Library bcm2835 für den GPIO-Port;374
7.15;5.15 Mehr Ampere mit externen Spannungsquellen;376
7.16;5.16 Vom Schaltplan zum Layout;378
7.16.1;5.16.1 EAGLE Light;379
8;6 Sensoren und Software für Infrarot und Ultraschall;384
8.1;6.1 LIRC als Empfänger;385
8.1.1;6.1.1 Kommandos per IR-Fernbedienung auslösen;391
8.1.2;6.1.2 Ein Auswahlmenü auf dem LCD-Display;394
8.2;6.2 Entfernungsmessung per Ultraschall;397
8.3;6.3 Ein Abstandswarner mit ultraloop.c im Qt Creator;402
8.4;6.4 Entfernungsmessung mit Infrarotlicht;407
8.4.1;6.4.1 Distanzmessung über den MCP3426 als A/D-Wandler;409
9;7 Netzwerke und der Fernzugriff auf den Raspberry Pi;410
9.1;7.1 Die automatische Vergabe von IP-Adressen;413
9.2;7.2 Netzwerkkabel, Übertragungsraten und ethtool;422
9.3;7.3 Eine Direktverbindung zum Raspberry Pi;423
9.3.1;7.3.1 Die Link-Local-IP;427
9.4;7.4 Netzwerkkameras;428
9.4.1;7.4.1 Eine Direktverbindung für Netzwerkkameras;430
9.5;7.5 Der SSH-Server und ein Linux-PC als Client;431
9.5.1;7.5.1 SSH und die Weiterleitung des X11-Fensters;436
9.5.2;7.5.2 Fingerabdrücke auf (micro)SD-Karten;438
9.6;7.6 Zwei Schlüssel zum Vergleich – SSH ohne Passwort;439
9.7;7.7 PuTTY als Windows-Client;441
9.8;7.8 Remote-Zugriff mit WinSCP und Krusader als Client;445
9.9;7.9 Der SSH-Fernzugriff per ASCII-GUI;449
9.9.1;7.9.1 Ein Desktop-Icon auf dem Client-PC;449
9.10;7.10 Ein Remote-Desktop mit TightVNC;450
9.11;7.11 Energie sparen mit TMux;453
9.12;7.12 Die ASCII-GUI pgrep_gui.sh;458
9.13;7.13 TMux und die ASCII-GUI pgrep_gui.sh;462
9.13.1;7.13.1 TMux-Skripting;464
9.14;7.14 WLAN-Verbindungen und WLAN-Sticks;466
9.14.1;7.14.1 WLAN-Verbindungen und wpa_gui;470
9.15;7.15 Die Netzwerk-Tools arp-scan und nmap;472
9.16;7.16 Netcat – vom Chatprogramm zum Videoempfänger;474
9.17;7.17 Fünf Wege zum Raspberry Pi;475
9.18;7.18 Über Android zum Raspberry Pi;477
9.18.1;7.18.1 Über F-Droid zu ConnectBot;478
9.19;7.19 Über USB OTG zum Raspberry Pi Zero;481
10;8 Audio und Composite Video am Pi;484
10.1;8.1 Buchsen, Kabel, Signale;484
10.2;8.2 Audiowiedergabe;488
10.3;8.3 Der AlsaMixer;495
10.4;8.4 Audioaufzeichnung und ALSA-Tools;497
10.4.1;8.4.1 SoX mit der Webcam als Audioquelle;500
10.4.2;8.4.2 SoX passt auf – Reaktion auf Geräusche;506
10.4.3;8.4.3 Informationen zur Audiodatei mit soxi;509
10.4.4;8.4.4 Audioaufzeichnung im Remote-Modus;510
10.4.5;8.4.5 Lautsprecherdurchsagen aus sicherem Abstand (remote);513
10.4.6;8.4.6 Externe USB-Soundkarten und das Programm speaker-test;514
10.5;8.5 Sprachsynthese auf dem Linux-PC;518
10.5.1;8.5.1 Sprachausgabe mit eSpeak;519
10.5.2;8.5.2 Sprachausgabe über tts.sh mit eSpeak, SVOX-Pico und Festival;520
11;9 Videodaten – Aufzeichnung und Wiedergabe;524
11.1;9.1 Der OMXPlayer;525
11.1.1;9.1.1 Kommandos für den OMXPlayer (DBUS-Interface);527
11.2;9.2 Videodateien aus dem Internet holen;529
11.3;9.3 Archivierte Videos abspielen mit guiPlay.sh;533
11.4;9.4 Videoplayer und multiplay.sh;541
11.5;9.5 Wiedergabe mit videoselect.sh und avplay;545
11.6;9.6 Wo ist das Videogerät?;546
11.7;9.7 Daten zum Videogerät mit dem V4L-Treiber;549
11.8;9.8 MPEG-Spezifikationen, Codecs und Containerdateien;552
11.9;9.9 Fotografieren und Filmen mit guvcview;553
11.10;9.10 Fotografieren mit fswebcam;557
11.11;9.11 Die libav-tools und avconv (bzw. ffmpeg);563
11.11.1;9.11.1 Der Webcam-Zugriff mit avconv;564
11.11.2;9.11.2 Vertonung mit avconv;566
11.11.3;9.11.3 Bildschirmvideos mit dem Raspberry Pi;567
11.11.4;9.11.4 Videos konvertieren mit WinFF;569
11.12;9.12 Motion auf dem Pi;571
11.12.1;9.12.1 Der Programmstarter motiongui.sh;574
11.12.2;9.12.2 Der Blick auf die Uhr;579
11.12.3;9.12.3 Motion-Parameter geeignet festlegen;581
11.12.4;9.12.4 Namen für Bilder und Videodateien;587
11.12.5;9.12.5 Einblendung von Zeitstempeln und Texten;588
11.12.6;9.12.6 Markierte Bewegungen;589
11.12.7;9.12.7 Bewegungsalarm auf Teilbereichen des Bildes;590
11.12.8;9.12.8 Automatische E-Mails bei Ereignissen;593
11.12.9;9.12.9 Den Videostream anzeigen und weiterleiten;594
11.12.10;9.12.10 Parameteränderung per ASCII-GUI und setvalue.sh;597
12;10 Kameramodule zum Raspberry Pi;598
12.1;10.1 Das 8-Megapixel-Kameramodul mit Sony-IMX219-Sensor;602
12.2;10.2 Fotos mit raspistill;604
12.2.1;10.2.1 EXIF-Daten ermitteln;609
12.2.2;10.2.2 Fotografieren mit fotomenu.sh;610
12.2.3;10.2.3 Der manuelle Belichtungsmodus;612
12.2.4;10.2.4 Fotografieren mit Zeit-/ISO-Automatik;614
12.2.5;10.2.5 Farben und Spezialeffekte;617
12.2.6;10.2.6 Fotos bei sehr wenig Licht und im Signalmodus;621
12.3;10.3 Konverter für Einzelbilder;625
12.4;10.4 Bilder und das FBI;626
12.5;10.5 Videos aufzeichnen mit raspivid;629
12.6;10.6 Videodateien mit MP4Box und avconv verarbeiten;632
12.7;10.7 Der UV4L-Treiber zum Kameramodul des Raspberry Pi;634
12.7.1;10.7.1 Fotografieren mit multicam.sh;638
12.7.2;10.7.2 Filmen mit dd;642
12.8;10.8 Binning bei raspistill und raspivid;643
12.9;10.9 Motion und das Kameramodul;646
13;11 Automatischer Datentransfer;652
13.1;11.1 SFTP-Kommandos per Skript ausführen;653
13.2;11.2 Eine RAM-Disk als Zwischenpuffer;657
13.2.1;11.2.1 Bilder auf der RAM-Disk;658
13.2.2;11.2.2 Die RAM-Disk überwachen;660
13.3;11.3 Datentransfer mit FileZilla;662
14;12 Audiosignale analysieren;664
14.1;12.1 Audacity;666
14.2;12.2 Die Verwendung von libsndfile;668
14.2.1;12.2.1 Die Abtastwerte einer Audiodatei in Textform;670
14.2.2;12.2.2 Ein Blick auf die Dokumentation;671
14.2.3;12.2.3 Ausgabeumleitung für Audiodaten mit sndout.cpp;672
14.3;12.3 Pausenerkennung und Segmentierung;676
14.3.1;12.3.1 Audiosegmentierung und Sprachausgabe mit audiosegm.cpp;677
14.4;12.4 Die Library tinyalsa;682
14.4.1;12.4.1 Abtastraten mit tinypcminfo.c ermitteln;684
14.4.2;12.4.2 Audioaufnahmen mit capaudio.sh und tinycap.c;685
14.5;12.5 Der Pi als Papagei;689
14.6;12.6 Spektrogramme mit sndfile-tools und Audacity;691
14.7;12.7 Vokaltraining mit voxvokal.sh;700
14.8;12.8 Das Audioquiz;704
15;13 OpenCV und der Pi;708
15.1;13.1 Die Konfiguration von OpenCV;709
15.2;13.2 Mit dem Compiler zur ausführbaren Datei;712
15.3;13.3 OpenCV – Dokumentation und Beispielprogramme;716
15.4;13.4 OpenCV, CMakeGUI und Code::Blocks;719
15.5;13.5 Die Qt-Projektdateien zu den Beispielprogrammen;721
15.6;13.6 Das Programm fpsec.cpp auf dem Pi benutzen;724
15.6.1;13.6.1 Fenster und Tastaturcodes von fpsec.cpp;725
15.6.2;13.6.2 Konturbilder vom Webcambild;726
15.6.3;13.6.3 Konturbilder vom Videobild;727
15.6.4;13.6.4 FloodFill auf dem Videobild;728
15.7;13.7 Programmierung mit OpenCV;729
15.7.1;13.7.1 Grundlegende Datentypen und OpenCV-Klassen;729
15.7.2;13.7.2 Fenster, Steuerelemente und cv::waitKey;731
15.7.3;13.7.3 Optimierung von Farb- und Grauwertbildern per Tastendruck;732
15.7.4;13.7.4 Binarisierung von Bildern mit cv::threshold;735
15.7.5;13.7.5 Regionen und Beschriftungen;737
15.8;13.8 Konfiguration für die WITH_QT-Oberfläche;738
16;14 Objektsegmentierung mit OpenCV;740
16.1;14.1 Segmentierung von Textzeilen;740
16.2;14.2 Symbolerkennung mit iconreader.cpp;743
16.3;14.3 Symbolerkennung auf Webcambildern;746
16.3.1;14.3.1 Einsatzzweck, Bedienung und Tastaturcodes;748
16.3.2;14.3.2 Vom Graustufenbild zum Erkennungsresultat;753
16.3.3;14.3.3 Der Alarm und die Statistik;759
16.4;14.4 Die sprechende Lichtschranke;761
17;15 Experimente;762
17.1;15.1 Booten mit Sprachausgabe;762
17.2;15.2 Ein Eingabemodul mit IR-Detektor und LCD-Display;765
17.2.1;15.2.1 Den Schaltungsaufbau planen;768
17.2.2;15.2.2 Lötarbeiten für die Elektronik zum DOGM204 LCD-Display;770
17.2.3;15.2.3 Das LCD-Display testen;771
17.2.4;15.2.4 Das Eingabemodul eichen;773
17.2.5;15.2.5 Die Drehung des Codierschalters auswerten;776
17.3;15.3 Ein Client/Server-Konzept für das Eingabemodul;777
17.3.1;15.3.1 Nur mit Maus und Display?;783
17.4;15.4 Ein Client/Server-Konzept mit menuctrl.sh;786
17.4.1;15.4.1 Fotos mit MenuCtrl;791
17.5;15.5 Über MenuCtrl fswebcam starten/beenden;794
17.6;15.6 Die hello_pi GPU-Programme mit MenuCtrl starten/beenden;795
17.7;15.7 MenuCtrl im Infrarotlicht;797
17.8;15.8 MenuCtrl schon beim Booten starten;802
18;16 Schlusswort;804
19;17 Übersicht der Programme und Skriptdateien zum Buch;806
20;Stichwortverzeichnis;812


Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.