230 likes | 351 Views
91.204.201 Computing IV. Introduction Xinwen Fu. About Instructor. Dr. Xinwen Fu, associate professor of CS@UML Homepage: http://www.cs.uml.edu/~xinwenfu/ Email: xinwenfu@cs.uml.edu Phone: (978) 934-3623 Office: 203 Olsen Hall Office hours:
E N D
91.204.201 Computing IV Introduction Xinwen Fu
About Instructor Dr. Xinwen Fu, associate professor of CS@UML Homepage: http://www.cs.uml.edu/~xinwenfu/ Email: xinwenfu@cs.uml.edu Phone: (978) 934-3623 Office: 203 Olsen Hall Office hours: Mon, Wed. MW. 3:30PM ~ 5:00PM or by appointment By Dr. Xinwen Fu By Dr. Xinwen Fu 2
About TA • TBD • Office hours: • TBD By Dr. Xinwen Fu
Textbook and Handouts • Required textbook (not released yet) • Gary Bradski, and Adrian Kaehler, Learning OpenCV: Computer Vision in C++ with the OpenCV Library, O'Reilly Media; Second Edition edition, December 25, 2012, ISBN-10: 1449314651, ISBN-13: 978-1449314651 • Textbook replacement • The OpenCV Tutorials Release 2.4.3 at http://docs.opencv.org/opencv_tutorials.pdf By Dr. Xinwen Fu
Course Objectives • Master OpenCV++ • Master Visual C++ • Master Debugging with Visual C++ • Master selected design patterns By Dr. Xinwen Fu
Course Styles • Descriptive: what is out there • Critical: what is wrong with ... • Both knowledge and skill oriented • Interactive: discussion and questions encouraged • Information sharing: home page and message board in Blackboard By Dr. Xinwen Fu
Tentative Course Outline • Introduction to OpenCV • VC++ 2010 examples • OpenCV core module. The Core Functionality • Basic building blocks of the library • Manipulate the images on a pixel level. • imgproc module. Image Processing • highgui module. High Level GUI and Media • Read/save image/video files • Use built-in graphical user interface • calib3d module. Camera calibration and 3D reconstruction • Find out from 2D images information about 3D world By Dr. Xinwen Fu
Lab Exercises • Location • Open labs on the third floor • Time • 24/7 By Dr. Xinwen Fu
Prerequisites • 91.201 Computing III • 91.203 Computer Organization and Assembly Language By Dr. Xinwen Fu
Grading • I reserve the rightto change thisdistribution during the course after notification • The final grades arecomputed accordingto the following rules By Dr. Xinwen Fu
Policies on incomplete grades and late assignments • Turn in assignments on or before the due date and time • What if the campus network is down? • An assignment turned in up to 24-hours late will be reduced by 10% of the assignment’s worth, more than 24 hours late will be reduced 100% • The due date and time for each assignment will be specified on assignment postings • All assignments are to be turned in through Blackboard (https://login.umassonline.net/lowell.cfm) By Dr. Xinwen Fu
Policies on absences and scheduling makeup work • Make-up exams will only be given in case of serious need and only when the instructor is notified prior to the exam time. If this is not done, the grade is automatically zero for that exam • Written verification for the student’s inability to take an exam will be required • The make-up exams will be different from those given to the class By Dr. Xinwen Fu
Academic Integrity Finish assignments individually and independently except notified. Should two or more students turn in substantially the same solution or program, in the judgment of the instructor, the assignment will be given a grade of zero. A second such incident will result in an F grade for the course All forms of academic dishonesty will result in an F for the course and notification of the Academic Dishonesty Committee http://www.departments.dsu.edu/student_services/handbook/ Copy from the Internet is not allowed Advice: put away the references and use your own language By Dr. Xinwen Fu By Dr. Xinwen Fu 13
Policy on working with students with disabilities The University is committed to serving all students with disabilities as defined by the Rehabilitation Act of 1973 and the Americans with Disabilities Act of 1990. A qualified person with a disability means: an individual with a disability who, with or without reasonable modifications to rules, policies, or practices, the removal of architectural, communication or transportation barriers, or the provision of auxiliary aids and services, meets the essential eligibility requirements for the receipt of services or the participation in programs or activities provided by a public entity. Questions concerning services for people with learning and physical disabilities should be directed to Jody Goldstein, MSSW Student Disability Services One University Avenue Cumnock Hall C6 Lowell, MA 01854 978-934-4574 E-mail: Disability@uml.edu http://www.uml.edu/STUDENT-SERVICES/disability/default.html By Dr. Xinwen Fu By Dr. Xinwen Fu 14
Check Blackboard for details! By Dr. Xinwen Fu
A Survey (No Credit) • What are the values of a and b? • What is polymorphism? main() { int a=0, b; b=a++; printf(“a=%d; b=%d”, a, b); } By Dr. Xinwen Fu
Polymorphism • One of the key features of derived classes is that a pointer to a derived class is type-compatible with a pointer to its base class • Polymorphism is the art of taking advantage of this simple but powerful and versatile feature, that brings Object Oriented Methodologies to its full potential By Dr. Xinwen Fu
Example • // pointers to base class • #include <iostream> • using namespace std; • class CPolygon { • protected: • int width, height; • public: • void set_values (int a, int b){ width=a; height=b; } • virtual int area () =0; • }; • class CRectangle: public CPolygon { • public: • int area () • { return (width * height); } • }; By Dr. Xinwen Fu
class CTriangle: public CPolygon { • public: • int area () • { return (width * height / 2); } • }; • int main () { • CRectangle rect; • CTriangle trgl; • rect.set_values (4,5); • trgl.set_values (4,5); • CPolygon * ppoly = ▭ • cout << ppoly->area() << endl; • ppoly = &trgl; • cout << ppoly->area() << endl; • return 0; • } By Dr. Xinwen Fu
namespace • Namespaces allow to group entities like classes, objects and functions under a name. This way the global scope can be divided in "sub-scopes", each one with its own name. • The format of namespaces is: • namespace identifier • { • entities • } • Where identifier is any valid identifier and entities is the set of classes, objects and functions that are included within the namespace. For example: By Dr. Xinwen Fu
Example • // namespaces • #include <iostream> • using namespace std; • namespace first • { • int var = 5; • } • namespace second • { • double var = 3.1416; • } • int main () { • cout << first::var << endl; • cout << second::var << endl; • return 0; • } By Dr. Xinwen Fu
Example – using namespace • // namespaces • #include <iostream> • using namespace std; • namespace first • { • int var = 5; • } • namespace second • { • double var = 3.1416; • } • int main () { • cout << first::var << endl; • cout << second::var << endl; • return 0; • } By Dr. Xinwen Fu
// namespaces • #include <iostream> • using namespace std; • namespace first • { • int var = 5; • } • namespace second • { • double var = 3.1416; • } • using namespace first; • //using namespace second; • int main () { • cout << var << endl; • cout << var << endl; • return 0; • } By Dr. Xinwen Fu