OpenCV - Open Source Computer Vision

Größe: px
Ab Seite anzeigen:

Download "OpenCV - Open Source Computer Vision"

Transkript

1 OpenCV - Open Source Computer Vision Niklas Beuter 30. April 2008 OpenCV - Open Source Computer Vision 1

2 Übersicht Vorteile von OpenCV Community 1 Vorteile von OpenCV Community 2 Aufbau Funktionalität 3 OpenCV einbinden Unterschiede Icewing - OpenCV 4 Ein einfaches Beispiel Arbeiten mit Bildern OpenCV - Open Source Computer Vision 2

3 OpenCV - Open Source Computer Vision 3 Vorteile von OpenCV Community OpenCV: Entwickelt von Intel seit 1999 Geschrieben in C/C++, optimiert für Echtzeit-Anwendungen Betriebssystem-, Hardware-, Window-Managerunabhängig Über 500 Funktionen für Foto/Video Bearbeitung, Laden und Speicherung Weit verbreitet in Unternehmen und Forschungseinrichtungen 2006 wurde die Version 1.0 herausgegeben

4 OpenCV - Open Source Computer Vision 4 Warum OpenCV? Vorteile von OpenCV Community Geschwindigkeit De facto Standard der Algorithmen Leichte Anbindung an IceWing

5 OpenCV - Open Source Computer Vision 4 Warum OpenCV? Vorteile von OpenCV Community Geschwindigkeit De facto Standard der Algorithmen Leichte Anbindung an IceWing

6 Community Vorteile von OpenCV Community Web group Eine online community in wo Fehler, Meinungen und Fragen ausgetauscht werden. Eine große community existiert zusätzlich zwischen großen Unternehmen (IBM, Microsoft, Intel, Sony, Siemens, Google,...) und Forschungseinrichtungen (Stanford, MIT, CMU, Cambridge, INRIA,...) OpenCV - Open Source Computer Vision 5

7 OpenCV - Open Source Computer Vision 6 Module von OpenCV Aufbau Funktionalität

8 OpenCV - Open Source Computer Vision 7 Funktionalität in Worten Aufbau Funktionalität Vision (cv): Grundlegende Bildverarbeitung (Filter, geometrische Transformationen, Frabraumumwandlungen) Bildanalyse (Featureauswahl, Morphologische Operationen, Konturverfolgung, Histogramme) Strukturelle Analyse (Formfaktoren, Planare Unterteilungen) Bewegungsanalyse und Objektverfolgung Objekt/Gesichtserkennung Kamerakalibrierung und Teile von 3D Rekonstruktion

9 OpenCV - Open Source Computer Vision 8 Funktionalität in Worten Aufbau Funktionalität Kernfunktionalität (cxcore, partly used by Intel Open Source Probabilistic Network Library as well): Einfache Operationen auf Arrays Matrixoperationen, Mathefunktionen DFT XML Zeichenfunktionen (2D Graphik) Komplexe : Sparsematrizen, Wachsende Sequenzen, Graphen

10 OpenCV - Open Source Computer Vision 9 Funktionalität in Worten Aufbau Funktionalität IO/GUI (highgui) Bild/Video Aufnahme. Einfache Oberflächenerstellung (Alle OpenCV-Beispiele mit GUI benutzen HighGUI)

11 OpenCV - Open Source Computer Vision 10 Funktionalität in Worten Aufbau Funktionalität Experimentelle Funtionen (cvaux): 3D Vision: Stereo Kalibrierung,... Stereo Korrespondierung, Graphenverbindungen Gesichtsdetailerkennung und -tracking Shape matching, skeletons... HMMs Texturen

12 OpenCV - Open Source Computer Vision 11 Funktionalität in Bildern Aufbau Funktionalität

13 OpenCV - Open Source Computer Vision 13 OpenCV einbinden Unterschiede Icewing - OpenCV Das erste Plugin in Icewing mit OpenCV IceWing Plugin generieren /vol/vita/bin/icewing-plugingen -cpp OpenCVTestPlugin OCVTest OpenCV im Makefile OPENCV_DIR = /vol/vision/ INCLUDES = -I$(OPENCV_DIR)/include/opencv OPENCV_LIB = -L$(OPENCV_DIR)/lib/ -Wl,--rpath,$(OPENCV_DIR)/lib LIBS = $(OPENCV_LIB) -lm -lcvaux -lc -lhighgui LDLIBS += $(ICEWING) --libs $(LIBS) CXXFLAGS += $(INCLUDES) Include Libs im Plugin #include "tools/opencv.h" // IceWing OpenCV support #include <cv.h> #include <cvaux.h> #include <highgui.h> #include <cxcore.h> // unnecessary - included in cv.h

14 OpenCV - Open Source Computer Vision 15 OpenCV einbinden Unterschiede Icewing - OpenCV Das erste Plugin in Icewing mit OpenCV Kompilieren as usual make clean; make depend; make; IceWing Aufruf icewing -sg f -l./libopencvtestplugin.so opencv.h void iw_opencv_render (prevbuffer *b, const IplImage *img, iwcoltab ctab); IplImage* iw_opencv_from_img (const iwimage *img, BOOL swaprb); iwimage* iw_opencv_to_img (const IplImage *img, BOOL swaprb); iwimage* iw_opencv_to_img_interleaved (const IplImage *img, BOOL swaprb);

15 OpenCV - Open Source Computer Vision 17 IceWing OpenCV plugin OpenCV einbinden Unterschiede Icewing - OpenCV OpenCV plugin #include "tools/opencv.h" // icewing opencv support #include <cv.h> // opencv header bool OpenCVTestPlugin::Process (char *ident, plugdata *data) { IplImage* BGRimg = 0; iwimage *img = &((grabimagedata*)data->data)->img; int w = img->width, h = img->height; BGRimg = iw_opencv_from_img(img, true); GRAYimg = cvcreateimage(cvsize(w,h), IPL_DEPTH_8U, 1); int i = 120, j= 80; uchar* ptr = &CV_IMAGE_ELEM(iBGRimg,uchar,i,j*3); cvcvtcolor(bgrimg, GRAYimg, CV_BGR2GRAY); iw_opencv_render(b_image, GRAYimg, IW_GRAY); prev_draw_buffer(b_image); if (BGRimg) cvreleaseimage(&bgrimg); return TRUE; } OpenCV Unterstuetzung bereits enthalten in IceWing iw opencv from img() Funktion zur Konvertierung zwischen den Bildformaten cvcreateimage() Standard Kontruktor fuer IplImages cvsize und andere Funktionen machen den Code kuerzer und erlauben 1-line Funktionsaufrufe CV IMAGE ELEM() Einfacher Weg zum Zugriff auf Image Pixel cvcvtcolor() Beispiel fuer eine OpenCV Bildbearbeitungsfunktion iw opencv render() Bildanzeige von IplImage in IceWing cvreleaseimage() Immer schoen aufraeumen

16 OpenCV - Open Source Computer Vision 18 OpenCV einbinden Unterschiede Icewing - OpenCV IceWing Bildformat vs. OpenCV Bildformat Standard-Bildverwendung unterscheidet sich zwischen IceWing und OpenCV OpenCV (IplImage) Pixel im gleichen Speicherbereich. Farben hintereinander IceWing (iwimage) Plane orientierte Speicherverwaltung Jede plane hat die Größe des Bildes Konvertierungsroutinen zum Umwandeln

17 OpenCV - Open Source Computer Vision 20 Ein einfaches Beispiel Arbeiten mit Bildern OpenCV Image IplImage -- int nchannels; // Number of color channels (1,2,3,4) -- int depth; // Pixel depth in bits: // IPL_DEPTH_8U, IPL_DEPTH_8S, // IPL_DEPTH_16U,IPL_DEPTH_16S, // IPL_DEPTH_32S,IPL_DEPTH_32F, // IPL_DEPTH_64F -- int width; // image width in pixels -- int height; // image height in pixels -- char* imagedata; // pointer to aligned image data // Note that color images are stored in BGR order -- int dataorder; // 0 - interleaved color channels, // 1 - separate color channels // cvcreateimage can only create interleaved images -- int origin; // 0 - top-left origin, // 1 - bottom-left origin (Windows bitmaps style) -- int widthstep; // size of aligned image row in bytes -- int imagesize; // image data size in bytes = height*widthstep

18 OpenCV - Open Source Computer Vision 22 Ein einfaches Beispiel Arbeiten mit Bildern OpenCV Matrix CvMat // 2D array -- int type; // elements type (uchar,short,int,float,double) and flags -- int step; // full row length in bytes -- int rows, cols; // dimensions -- int height, width; // alternative dimensions reference -- union data; -- uchar* ptr; // data pointer for an unsigned char matrix -- short* s; // data pointer for a short matrix -- int* i; // data pointer for an integer matrix -- float* fl; // data pointer for a float matrix -- double* db; // data pointer for a double matrix

19 OpenCV - Open Source Computer Vision 24 Ein einfaches Beispiel Arbeiten mit Bildern OpenCV Vektor CvMatND // N-dimensional array -- int type; // elements type (uchar,short,int,float,double) and flags -- int dims; // number of array dimensions -- union data; -- uchar* ptr; // data pointer for an unsigned char matrix -- short* s; // data pointer for a short matrix -- int* i; // data pointer for an integer matrix -- float* fl; // data pointer for a float matrix -- double* db; // data pointer for a double matrix -- struct dim[]; // information for each dimension -- size; // number of elements in a given dimension -- step; // distance between elements in a given dimension

20 OpenCV - Open Source Computer Vision 26 Das einfachste Programm Ein einfaches Beispiel Arbeiten mit Bildern sample.cpp #include <cv.h> #include <highgui.h> int main( int argc, char** argv ) { IplImage* image; if( argc!= 2 ) return -1; image = cvloadimage( argv[1] ); if(!image ) return -1; cvnamedwindow( "Sample", 1 ); cvshowimage( "Sample", image ); cvwaitkey(); return 0; }

21 Das einfachste Programm Ein einfaches Beispiel Arbeiten mit Bildern #include <cv.h> #include <highgui.h> IplImage* image = 0; int thresh = 100; void on_trackbar(int) { IplImage* gray = cvcreateimage( cvgetsize(image), 8, 1 ); CvMemStorage* storage = cvcreatememstorage(0); CvSeq* contours = 0; cvcvtcolor( image, gray, CV_BGR2GRAY ); cvthreshold( gray, gray, thresh, 255, CV_THRESH_BINARY ); cvfindcontours( gray, storage, &contours ); cvzero( gray ); if( contours ) cvdrawcontours( gray, contours, cvscalarall(255), cvscalarall(255), 100 ); cvshowimage( "Contours", gray ); cvreleaseimage( &gray ); cvreleasememstorage( &storage ); } int main( int argc, char** argv ) { IplImage* image; if( argc!= 2!(image = cvloadimage(argv[1])) ) return -1; cvnamedwindow( "Contours", 1 ); cvcreatetrackbar( "Threshold", "Contours", &thresh, 255, on_trackbar ); on_trackbar(0); cvwaitkey(); return 0; } OpenCV - Open Source Computer Vision 28

22 OpenCV - Open Source Computer Vision 30 Zugriff auf den Bildinhalt Ein einfaches Beispiel Arbeiten mit Bildern k = channel; i = row; j = column; Indirekt - Ineffizient IplImage* img=cvcreateimage(cvsize(640,480),ipl_depth_32f,3); CvScalar s; s=cvget2d(img,i,j); // get the (i,j) pixel value printf("b=%f, G=%f, R=%f\n",s.val[0],s.val[1],s.val[2]); s.val[0]=111; s.val[1]=111; s.val[2]=111; cvset2d(img,i,j,s); // set the (i,j) pixel value Direkt - Effizient, aber Fehleranfaellig IplImage* img=cvcreateimage(cvsize(640,480),ipl_depth_8u,3); ((uchar *)(img->imagedata + i*img->widthstep))[j*img->nchannels + 0]=111; // B ((uchar *)(img->imagedata + i*img->widthstep))[j*img->nchannels + 1]=112; // G ((uchar *)(img->imagedata + i*img->widthstep))[j*img->nchannels + 2]=113; // R

23 OpenCV - Open Source Computer Vision 32 Zugriff auf den Bildinhalt Ein einfaches Beispiel Arbeiten mit Bildern k = channel; i = row; j = column; Pointer - Effizient, aber eventuell risikohaft IplImage* img = cvcreateimage(cvsize(640,480), IPL_DEPTH_8U,3); int height = img->height; int width = img->width; int step = img->widthstep/sizeof(uchar); int channels = img->nchannels; uchar* data = (uchar *)img->imagedata; data[i*step+j*channels+k] = 111; Wrapper - Galant template<class T> class Image { private: IplImage* imgp; public: Image(IplImage* img=0) {imgp=img;} ~Image(){imgp=0;} void operator=(iplimage* img) {imgp=img;} inline T* operator[](const int rowindx) { return ((T *)(imgp->imagedata + rowindx*imgp->widthstep));} }; Wrapper - Galant IplImage* img=cvcreateimage(cvsize(640,480), IPL_DEPTH_8U,3); RgbImage imga(img); imga[i][j].b = 111; imga[i][j].g = 111; imga[i][j].r = 111; typedef struct{ unsigned char b,g,r; } RgbPixel; typedef struct{ float b,g,r; } RgbPixelFloat; typedef Image<RgbPixel> typedef Image<RgbPixelFloat> typedef Image<unsigned char> typedef Image<float> RgbImage; RgbImageFloat; BwImage; BwImageFloat;

24 OpenCV - Open Source Computer Vision 33 Zeichnen mit OpenCV Ein einfaches Beispiel Arbeiten mit Bildern Zeichenfunktionen Linien, Kreise, Ellipse,... Polygone (Gefüllt, Kontur) Text Verschiedene Farben, Linienstärken, Antialising Beliebige Bildtypen werden dabei unterstützt

25 OpenCV - Open Source Computer Vision 34 Nützliche Quellen Ein einfaches Beispiel Arbeiten mit Bildern /vol/vision/ocv100/share/opencv/doc/index.htm, faq.htm (supplied documentation) (OpenCV Wiki-pages) (OpenCV at Intel) (the project page at SF. Take the latest release or CVS snapshots here) (OpenCV Wiki pages, still being formed) index.html (nice newbie introduction)

OpenCV - Open Source Computer Vision

OpenCV - Open Source Computer Vision OpenCV - Open Source Computer Vision Niklas Beuter und Christian Lang 6. Mai 2009 OpenCV - Open Source Computer Vision 1 Übersicht Vorteile von OpenCV 1 Vorteile von OpenCV 2 Aufbau 3 OpenCV einbinden

Mehr

Bildverarbeitung mit OpenCV

Bildverarbeitung mit OpenCV Bildverarbeitung mit OpenCV Open Source Computer Vision Library Johannes Wienke Computer Vision Toolkits Seminar im Sommersemester 2008 an der Universität Bielefeld 23. Mai 2008 Dieses Tutorial soll eine

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Leistungskurs C++ OpenCV

Lehrstuhl für Datenverarbeitung. Technische Universität München. Leistungskurs C++ OpenCV Leistungskurs C++ OpenCV Was ist OpenCV? OpenCV (Free Open Source Computer Vision) ist eine Library mit Funktionen für Computer Vision in Echtzeit Ursprünglich von Intel entwickelt, inzwischen hauptsächlich

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Microsoft Visual C++ 6.0

Microsoft Visual C++ 6.0 Hardwareinbindung in Matlab bild = Quickcam; figure;imshow(bildanzeige); MATLAB 6.1 void mexfunction( int nlhs, mxarray *plhs[], int nrhs, const mxarray*prhs[] ) Microsoft Visual C++ 6.0 Aufruf int Capture(unsigned

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Ralf Wondratschek adorsys GmbH & Co. KG. Bildbearbeitung für Android mit OpenCV

Ralf Wondratschek adorsys GmbH & Co. KG. Bildbearbeitung für Android mit OpenCV Ralf Wondratschek adorsys GmbH & Co. KG Bildbearbeitung für Android mit OpenCV Inhalt OpenCV API Pixel Zugriff Effektbeispiele Inhalt Einbindung in Android Kamerazugriff bei Android Best Practices cv::scalar

Mehr

IPETRONIK TESTdrive SDK V02.00

IPETRONIK TESTdrive SDK V02.00 TESTdrive SDK V02.00 Übersicht Kundenspezifische Erweiterungen möglich Unabhängige Entwicklungen von TESTdrive-Kernsystem (Releases) Eigenständige Erweiterungen durch den Kunden selbst Nutzung von bestehenden

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Einführung in die Programmierung (EPR)

Einführung in die Programmierung (EPR) Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.

Mehr

Übung zur Vorlesung Programmieren in C

Übung zur Vorlesung Programmieren in C Übung zur Vorlesung Programmieren in C 6 Pointers Marvin Gülker Ruhruniversität Bochum Wintersemester 2015/2016 Marvin Gülker (Ruhruniversität Bochum) 6 Pointers Wintersemester 2015/2016 1 / 29 Gliederung

Mehr

Robotersteuerung. VL Mikrorechentechnik 2. SS 2013 Professur für Prozessleittechnik

Robotersteuerung. VL Mikrorechentechnik 2. SS 2013 Professur für Prozessleittechnik Robotersteuerung VL Mikrorechentechnik 2 SS 2013 Professur für Prozessleittechnik Übersicht Design eines endlichen Zustandsautomaten für die Steuerung eines Roboters C++ Konzepte: shared memory boost::interprocess

Mehr

Programmentwicklung mit C++ (unter Unix/Linux)

Programmentwicklung mit C++ (unter Unix/Linux) Programmentwicklung mit C++ (unter Unix/Linux) Erste Schritte Der gcc - Compiler & Linker Organisation des Source-Codes & Libraries Automatische Programmgenerierung: Make Birgit Möller & Denis Williams

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

Programmierbeispiele und Implementierung. Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de

Programmierbeispiele und Implementierung. Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de > Programmierbeispiele und Implementierung Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de 2 > Übersicht > Matrix Vektor Multiplikation > Mandelbrotmenge / Apfelmännchen berechnen > Kantendetektion

Mehr

Algorithmen zur Datenanalyse in C++

Algorithmen zur Datenanalyse in C++ Algorithmen zur Datenanalyse in C++ Hartmut Stadie 23.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 16 Einführung Algorithmen zur Datenanalyse in C++ Hartmut Stadie 2/ 16 Übersicht Einführung

Mehr

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl PROGRAMMIEREN MIT C Allgemeine hinweise Alles was hier beschrieben wird, soll auch ausprobiert werden. Warum C? Weil die coolen Dinge mit C am einfachsten gehen. Das werden wir in den folgenden Übungen

Mehr

Programmier-Befehle - Woche 08

Programmier-Befehle - Woche 08 Datentypen Vektoren (mehrdim.) eines bestimmten Typs Erfordert: #include Wichtige Befehle: Definition: std::vector my vec (n rows, std::vector(n cols, init value)) Zugriff:

Mehr

Eine Einführung in C-Funktionen

Eine Einführung in C-Funktionen Eine Einführung in C-Funktionen CGK-Proseminar 2014 Philip Gawehn 04.07.2014, Hamburg Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen 2 2.1 Der Aufbau einer Funktion....................... 2 2.2 Schlüsselwörter.............................

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2

Mehr

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

Mehr

Programmieren in Haskell Einführung

Programmieren in Haskell Einführung Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:

Mehr

Kurze Einführung in die Programmiersprache C++ und in Root

Kurze Einführung in die Programmiersprache C++ und in Root Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung

Mehr

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

Mehr

MPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven

MPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven MPI-Programmierung unter Windows mit MPIH2 Installieren von MPIH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen hristian Terboven Rechen- und Kommunikationszentrum RWTH Aachen 1 02/2007 luster-installationsworkshop

Mehr

Zugriff auf die Modul-EEPROMs

Zugriff auf die Modul-EEPROMs MAX-P- und P-Bibliotheken EEPROM-Zugriff 1 Zugriff auf die Modul-EEPROMs Jedes X-Bus-Modul verfügt über ein EEPROM, in dem modulspezifische Daten gespeichert werden. Neben einigen Bereichen, die vom Betriebssystem

Mehr

Programmieren in C++ Arrays, Strings und Zeigerarithmetik

Programmieren in C++ Arrays, Strings und Zeigerarithmetik Programmieren in C++ Arrays, Strings und Zeigerarithmetik Inhalt Eindimensionale C-Arrays C-Strings und Strings (Mehrdimensionale C-Arrays) Arrays und Vektoren (C++) Unique Pointers (C++11) Zeigerarithmetik

Mehr

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public

Mehr

Datentypen: Enum, Array, Struct, Union

Datentypen: Enum, Array, Struct, Union Datentypen: Enum, Array, Struct, Union C-Kurs 2013, 2. Tutorium Freitagsrunde http://wiki.freitagsrunde.org 10. September 2013 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)

Mehr

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik Hochschule München, FK 03 FA SS 2012 Ingenieurinformatik Zulassung geprüft vom Aufgabensteller: Teil 1/Aufgabe 1: 30 Minuten ohne Unterlagen, Teil 2/Aufgaben 2-4: 60 Minuten, beliebige eigene Unterlagen

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic Coding. Klausur. 9. Februar 2007. Kurs A Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt

Mehr

Industrielle Bildverarbeitung mit OpenCV

Industrielle Bildverarbeitung mit OpenCV Industrielle Bildverarbeitung mit OpenCV Zhang,Duoyi 6.7.2 Gliederung. Einführung für OpenCV 2. Die Struktur von OpenCV Überblick Funktionsumfang in Ausschnitten mit Beispielen 3. Industrielles Anwendungsbeispiel

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2009, 16. Juli 2009 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals

Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals MÜNSTER Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals Prof. Dr. Christian Engwer & Andreas Buhr 16. April 2014 MÜNSTER Interaktive Simulationen 2 /22 Normales C++ Programm Programmstruktur

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Moderne C-Programmierung

Moderne C-Programmierung Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete

Mehr

Proseminar C-Programmierung. Strukturen. Von Marcel Lebek

Proseminar C-Programmierung. Strukturen. Von Marcel Lebek Proseminar C-Programmierung Strukturen Von Marcel Lebek Index 1. Was sind Strukturen?...3 2. Padding 5 3. Vor- und Nachteile von Padding..8 4. Padding gering halten 9 5. Anwendungsgebiete von Strukturen.11

Mehr

C++ Kurs Teil 1. Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen

C++ Kurs Teil 1. Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen C++ Kurs Teil 1 "hello world" Vergleich von C++ und Java Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen C++ Spezialitäten Schlüsselwort 'const', Copy Constructor,

Mehr

DB2 Codepage Umstellung

DB2 Codepage Umstellung DB2 Codepage Umstellung Was bei einer Umstellung auf Unicode zu beachten ist Torsten Röber, SW Support Specialist DB2 April 2015 Agenda Warum Unicode? Unicode Implementierung in DB2/LUW Umstellung einer

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

Der Goopax Compiler GPU-Programmierung in C++ ZKI AK-Supercomputing, Münster, 27.03.2014, Ingo Josopait

Der Goopax Compiler GPU-Programmierung in C++ ZKI AK-Supercomputing, Münster, 27.03.2014, Ingo Josopait Der Goopax Compiler GPU-Programmierung in C++ AMD R9 290X: 5.6 TFLOPS (SP MulAdd) Programmierung ~10000 Threads Entwicklungsumgebungen Entwicklungsumgebungen CUDA, OpenCL Compiler: kernel GPU Maschinencode

Mehr

Informatik für Mathematiker und Physiker Woche 7. David Sommer

Informatik für Mathematiker und Physiker Woche 7. David Sommer Informatik für Mathematiker und Physiker Woche 7 David Sommer David Sommer 30. Oktober 2018 1 Heute: 1. Repetition Floats 2. References 3. Vectors 4. Characters David Sommer 30. Oktober 2018 2 Übungen

Mehr

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B. C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Datenfelder (Arrays) Vektoren, Matrizen, Tabellen. Dr. Beatrice Amrhein

Datenfelder (Arrays) Vektoren, Matrizen, Tabellen. Dr. Beatrice Amrhein Datenfelder (Arrays) Vektoren, Matrizen, Tabellen Dr. Beatrice Amrhein Überblick Eindimensionale Arrays o Deklaration, Initialisierung, Zugriff Mehrdimensionale Arrays o Deklaration, Initialisierung, Zugriff

Mehr

Funktionale Programmierung mit Haskell

Funktionale Programmierung mit Haskell Funktionale Programmierung mit Haskell Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20120622 Überblick Wichtige Eigenschaften Einführungsbeispiele Listenerzeugung und Beispiel

Mehr

Algorithms & Datastructures Midterm Test 1

Algorithms & Datastructures Midterm Test 1 Algorithms & Datastructures Midterm Test 1 Wolfgang Pausch Heiko Studt René Thiemann Tomas Vitvar

Mehr

S7ComRaspi. Schönberger Thomas 2016 Schönberger Thomas

S7ComRaspi. Schönberger Thomas 2016 Schönberger Thomas Schönberger Thomas info@schoenbergerthomas.jimdo.com 2016 Schönberger Thomas Inhalt 1 Allgemein... 2 2 Voraussetzungen... 2 3 Lieferumfang... 2 4 S7Com... 3 4.1 S7Com Klasse... 3 4.2 Konstruktor S7Com...

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

OpenCV in a Nutshell. Fachhochschule Aachen. Fachbereich 9 Medizintechnik und Technomathematik. Seminararbeit im Studiengang Scientic Programming

OpenCV in a Nutshell. Fachhochschule Aachen. Fachbereich 9 Medizintechnik und Technomathematik. Seminararbeit im Studiengang Scientic Programming Fachhochschule Aachen Fachbereich 9 Medizintechnik und Technomathematik im Studiengang Scientic Programming Autor: Marius Politze Mat. No. 995282 Erstprüfer: Prof. Dr. Andreas Terstegge Zweitprüfer: Dr.

Mehr

2.0. Jens Weller (jensweller@gmx.de) Joel de Guzman (joel@boost-consulting.com) Hartmut Kaiser (hartmut.kaiser@gmail.com)

2.0. Jens Weller (jensweller@gmx.de) Joel de Guzman (joel@boost-consulting.com) Hartmut Kaiser (hartmut.kaiser@gmail.com) 2.0 Jens Weller (jensweller@gmx.de) Joel de Guzman (joel@boost-consulting.com) Hartmut Kaiser (hartmut.kaiser@gmail.com) 2.0 - Agenda Was ist Spirit? Aufbau & Überblick Lex, Qi & Karma 2.0 Was ist das?

Mehr

Symbio system requirements. Version 5.1

Symbio system requirements. Version 5.1 Symbio system requirements Version 5.1 From: January 2016 2016 Ploetz + Zeller GmbH Symbio system requirements 2 Content 1 Symbio Web... 3 1.1 Overview... 3 1.1.1 Single server installation... 3 1.1.2

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch

In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch Kapitel Matrizen in C++ In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch 1 const int n=10; 3 double a[n][n]; gegeben. Allerdings gibt es bei dieser Methode eine Reihe

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Teil 1: Wiederholung C Heutige Agenda Nutzereingaben verarbeiten Teil 2: Grundlagen in C++ Erstes

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

ITG RKSVNet - Webservice Signierung von Belegen via Internet

ITG RKSVNet - Webservice Signierung von Belegen via Internet ITG RKSVNet - Webservice Signierung von Belegen via Internet Dieser Signierdienst via Internet ist für Kassensoftwarehersteller gedacht, die Ihre Kassensoftware über das Internet Ihren Kunden zugänglich

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018 to to May 2018 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam Aktuelle Fileposition ermitteln long pos; pos=ftell(fp); //aktuelle Bytenummer Filelaenge in Bytes fseek(fp,0,seek_end); pos=ftell(fp); Fileendeerkennung int rc; rc = feof (fp) //!= 0 bei Fileende // ==

Mehr

Einleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn

Einleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn C: Funktionen Philip Gawehn Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg Do., 22.05.2014 1 / 23 Gliederung

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Übung zu Grundlagen der Betriebssysteme. 3. Übung 30.10.2012

Übung zu Grundlagen der Betriebssysteme. 3. Übung 30.10.2012 Übung zu Grundlagen der Betriebssysteme 3. Übung 30.10.2012 Aufgabe 1 Schließen Sie sich über die URL http://userpages.uni-koblenz.de/~mips/bs/anmeldung/ Bearbeitungsgruppen bestehend aus 3 Teilnehmern

Mehr

7. Organisation von Informationen

7. Organisation von Informationen Computeranwendung in der Chemie Informatik für Chemiker(innen) 7. Organisation von Informationen Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL7 Folie 1 Grundlagen Programme

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Informatik I (D-MAVT)

Informatik I (D-MAVT) Informatik I (D-MAVT) Übungsstunde 1 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich kurze Stunden mit Stoffueberblick -> mehr Zeit fuer Fragen This semester s menu... Imperative Programmierung

Mehr

Einführung in die Programmierung mit C++

Einführung in die Programmierung mit C++ 1 Seite 1 Einführung in die Programmierung mit C++ Teil IV - Weiterführende Themen 14. Modularisierung und Automatisierung Was heißt Modularisierung? Seite 2 bisher Programm komplett in einer Datei längere

Mehr

Software und Visualisierungen. Erich Schubert, Dr. Arthur Zimek. 2013-0X-XX KDD Übung

Software und Visualisierungen. Erich Schubert, Dr. Arthur Zimek. 2013-0X-XX KDD Übung Software und Visualisierungen Erich Schubert, Dr. Arthur Zimek Ludwig-Maximilians-Universität München 2013-0X-XX KDD Übung Ein recht einfacher Datensatz, online unter: http://aima.cs.berkeley.edu/data/iris.csv

Mehr

Übersicht. Generierung von IPv6-Paketen mit Scapy. Scapy GUI - Kurzvorstellung. Szameitpreiks - Beuth Hochschule für Technik Berlin

Übersicht. Generierung von IPv6-Paketen mit Scapy. Scapy GUI - Kurzvorstellung. Szameitpreiks - Beuth Hochschule für Technik Berlin Übersicht Generierung von IPv6-Paketen mit Scapy Scapy GUI - Kurzvorstellung Szameitpreiks - Beuth Hochschule für Technik Berlin 2 Scapy-GUI for IPv6 Generierung von IPv6- Paketen mit Scapy Szameitpreiks

Mehr

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

OpenCL Implementierung von OpenCV Funktionen

OpenCL Implementierung von OpenCV Funktionen Multi-Core Architectures and Programming OpenCL Implementierung von OpenCV Funktionen julian.mueller@e-technik.stud.uni-erlangen.de Hardware/Software Co-Design August 18, 2011 1 Table of content 1 OpenCL

Mehr

Einführung in wxwidgets & wxdev-c++

Einführung in wxwidgets & wxdev-c++ Einführung in wxwidgets & wxdev-c++ Vortrag im Rahmen der Vorlesung Computational Physics im Sommersemester 2009 Folie 1/13 Gliederung wxwidgets: Übersicht wxdev-c++: Übersicht Installation wxwidgets Syntax

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Kameraanbindung mit OpenCV. Projektpraktikum AR/VR Raphael Baumeister

Kameraanbindung mit OpenCV. Projektpraktikum AR/VR Raphael Baumeister Kameraanbindung mit OpenCV Projektpraktikum AR/VR Raphael Baumeister Einleitung & Allgemeines Open Source Bibliothek Basierend auf Image Processing Library Programmiersprache C++ Hohe Geschwindigkeit Lizenzfrei

Mehr

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

DAP2-Programmierpraktikum Einführung in C++ (Teil 1) DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume

Mehr

https://portal.microsoftonline.com

https://portal.microsoftonline.com Sie haben nun Office über Office365 bezogen. Ihr Account wird in Kürze in dem Office365 Portal angelegt. Anschließend können Sie, wie unten beschrieben, die Software beziehen. Congratulations, you have

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Seminar Seminarname SS 2003

Seminar Seminarname SS 2003 Universität Karlsruhe (TH) Institut für Rechnerentwurf und Fehlertoleranz (IRF) Lehrstuhl Prof. Dr.-Ing. Dillmann Seminar Seminarname SS 2003 Beitragstitel Eva Muster Kaiserstraße 1 76133 Karlsruhe eva@muster.de

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Anleitung zur Einrichtung von OpenCV

Anleitung zur Einrichtung von OpenCV Anleitung zur Einrichtung von Dieses Dokument beschreibt die Einrichtung und Funktionsüberprüfung von im Kontext der Lehrveranstaltung. Einrichtung Dieser Abschnitt beschreibt die Einrichtung von unter

Mehr

KV Software Engineering Übungsaufgaben SS 2005

KV Software Engineering Übungsaufgaben SS 2005 KV Software Engineering Übungsaufgaben SS 2005 Martin Glinz, Silvio Meier, Nancy Merlo-Schett, Katja Gräfenhain Übung 1 Aufgabe 1 (10 Punkte) Lesen Sie das Originalpapier von Dijkstra Go To Statement Considered

Mehr

Praktikum Betriebssysteme 1. Aufgabe (1)

Praktikum Betriebssysteme 1. Aufgabe (1) FG TECHNISCHE INFORMATIK U BS 041 01 TH 09 Praktikum Betriebssysteme 1. Aufgabe (1) Es wird ein unter LINUX lauffähiges C++-Programm ptab, mit dem Informationen über die Partitionierung von Festplatten

Mehr