Introduction to Emgu EE4H, M.Sc 04 24086 Computer Vision Dr. Mike Spann

Slides:



Advertisements
Similar presentations
Tutorial on Matlab and OpenCV Rui Ma TA of CMPT 414 May 14, 2013 Office hours: Fridays 11:00-12:00, CSIL TA Office 1 (ASB 9838)
Advertisements

Working with images and scenes CS 5010 Program Design Paradigms “Bootcamp” Lesson 2.5 TexPoint fonts used in EMF. Read the TexPoint manual before you delete.
CS2984: Introduction to Media Computation Drawing directly on images.
Computer Graphics Tz-Huan Huang National Taiwan University (Slides are based on Prof. Chen’s)
Information Representation
Technology ICT Option: Data Representation. Data Representation In our everyday lives, we communicate with each other using analogue data. This data takes.
What is a Programming Language? The computer operates using binary numbers. The computer only knows about 1’s and 0’s. Humans can also use 1’s and 0’s,
Exploring Other FreeHand Features – Lesson 31 Exploring Other FreeHand Features Lesson 3.
Graphics and Multimedia. Introduction The language contains many sophisticated drawing capabilities as part of namespace System.Drawing and the other.
Graphics Standard Grade Computing. Graphics Package n A graphics package is another General Purpose Package. n It is used to draw pictures on the monitor.
Fonts Typeface Typography. Leading Spacing between lines.
Working with Graphics. Objectives Understand bitmap and vector graphics Place a graphic into a frame Work with the content indicator Transform frame contents.
Intelligent Ground Vehicle Competition Navigation Michael Lebson - James McLane - Image Processing Hamad Al Salem.
Kalman Tracking for Image Processing Applications Student : Julius Oyeleke Supervisor : Dr Martin Glavin Co-Supervisor : Dr Fearghal Morgan.
Dedicated Vector and Bitmap editing software.
Chapter 3 Working with Symbols and Interactivity.
1 Bitmap Graphics It is represented by a dot pattern in which each dot is called a pixel. Each pixel can be in any one of the colors available and the.
Introduction to .Net Framework
Computer Programming and Basic Software Engineering 9 Building Graphical User Interface A Brief Introduction to GDI+ S.R.G. Fraser, Pro Visual C++/CLI.
CSC300 Visual Programming Dr. Craig Reinhart. Objectives Teach the basics of C++ –You won’t be an expert but hopefully a very good novice –GUI development.
Computing IV Visual C Introduction with OpenCV Example Xinwen Fu.
Tools for Raster Displays CVGLab Goals of the Chapter To describe pixmaps and useful operations on them. To develop tools for copying, scaling, and rotating.
Object Oriented Programming Graphics and Multimedia Dr. Mike Spann
Flash Macromedia Flash Introduction. Bitmap vs. Vector based  Bitmap –Bitmaps are made up of single pixels  Vector based –Vector graphics are made up.
Higher Computing Computer Systems S. McCrossan 1 Higher Grade Computing Studies 1. Data Representation Data Representation – Why do we use binary? simplicity,
Working with Symbols and Interactivity
Chapter 10 Fireworks: Part II The Web Warrior Guide to Web Design Technologies.
ImageJ EE4H, M.Sc Computer Vision Dr. Mike Spann
Under Supervision of Dr. Kamel A. Arram Eng. Lamiaa Said Wed
© 2010 Delmar, Cengage Learning Chapter 3: Working with Symbols and Interactivity.
EZYFLO. Aim of EZYFLO To draw simple flowcharts To reduce the memory size of the flowchart To create a software which runs in DOS environment also.
Flash Adobe Flash Introduction Kyungeun Park. Bitmap vs. Vector based  Bitmap –Bitmaps are made up of single pixels  Vector based –Vector graphics are.
Lab 8 Bit-Mapped Graphics Moving from text-based graphics to bit- mapped graphics. Easy to draw graphic points and lines using INT 10h, Function 0Ch (write.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved CheckWriter Application Introducing Graphics and Printing.
© De Montfort University, Vector and Bitmapped graphics Howell Istance School of Computing De Montfort University.
Vocabulary Words. 2-stage shutter release is a shutter release, that when pressed halfway, it activates the autofocus and the light meter of the camera,
VideoForge An image processing system. Contents Current state of the art IntroductionTiers Base Base Core Core Modules Modules User interface Interactive.
CGMB214: Introduction to Computer Graphics
Capabilities of Software. Object Linking & Embedding (OLE) OLE allows information to be shared between different programs For example, a spreadsheet created.
Research Experience Daniel Fregosi Summer 2006 UNCC Visualization Center.
Graphics and Images Graphics and images are both non-textual information, that can be displayed and printed. These images may appear on screen as well.
Unit 1: Task 1 By Abbie Llewellyn. Vector Graphic Software (Corel Draw) Computer graphics can be classified into two different categories: raster graphics.
Mobile Communication Extented-EMS. Mobile Communication The Bitmap format is not always the most resource efficient way of representing images, A better.
Introduction to Vector Graphics and Adobe Illustrator CS3
Dr. Martin Zhao Sept 4, Topics HTML and related tutorials on w3schools.com Related HTML tags Adding interesting features using JavaScript What is.
Lecture 7: Intro to Computer Graphics. Remember…… DIGITAL - Digital means discrete. DIGITAL - Digital means discrete. Digital representation is comprised.
Paint Application in Java Clark Jayson Cacal Aveline Germar Jose Sison Christopher Valera.
Ke Li. Agenda Introduction User Identification Features of the Tutorial What I Have Learned Demo.
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
XP Tutorial 8 New Perspectives on Microsoft Windows XP 1 Microsoft Windows XP Object Linking and Embedding Tutorial 8.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved. 1 Chapter 14 JavaFX Basics.
Resources & Bitmaps Adding clip art to your application.
By, Rutika R. Channawar. Content Introduction Open Handset Alliance Minimum Hardware Requirements Versions Feature Architecture Advantages Disadvantages.
Graphics and Image Data Representations 1. Q1 How images are represented in a computer system? 2.
1 Sections 5.1 – 5.2 Digital Image Processing Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
Creating cast members  Using tool palette window that can be selected from window menu.  The following objects can be created: Push buttons, Radio buttons,
Data Representation. In our everyday lives, we communicate with each other using analogue data. This data takes the form of: Sound Images Letters Numbers.
Graphics and image data representation
EEC-693/793 Applied Computer Vision with Depth Cameras
pycuda Jin Kwon Kim May 25, 2017 Hi my name is jin kwon kim.
Computer Science Higher
Programming Windows with C# Chapter23 Metafiles
Making the Applications Interesting
Advanced Computer Programming
Optical Character Recognition
EEC-693/793 Applied Computer Vision with Depth Cameras
Computational Urban Modelling and Simulation
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
Working with images and scenes
Presentation transcript:

Introduction to Emgu EE4H, M.Sc Computer Vision Dr. Mike Spann

About Emgu All of this material is taken from an Emgu wiki tutorial Also check out the API documentation dex.html dex.html Emgu is a cross platform.NET wrapper to the OpenCV image processing library Written entirely in C# but Allowing OpenCV functions to be called from.NET compatible languages such as C#, VB, VC++, IronPython

Setting up Emgu – C# There is a nice wiki article about how to set up Emgu using C# GU_C_Sharp GU_C_Sharp Also the article presents a tutorial on writing a simple Emgu application

Emgu to OpenCV mapping Can easily map from Emgu to OpenCV Function mapping Emgu.CV.CvInvoke Structure mapping Emgu.CV.Structure.Mxxx Enumeration mapping Emgu.CV.CvEnum Example: IntPtr image = CvInvoke.cvLoadImage("myImage.jpg", LOAD_IMAGE_TYPE.CV_LOAD_IMAGE_GRAYSCALE);

Emgu to OpenCV mapping Emgu also borrows some existing structures in.NET to represent structures in OpenCV:.NET StructureOpenCV structure System.Drawing.PointCvPoint System.Drawing.PointFCvPoint2D32f System.Drawing.SizeCvSize System.Drawing.RectangleCvRect

Image representation in Emgu Normal to create an image using the genric class Image object instead of using CvInvoke.cvCreateImage() Several advantages of this Memory is automatically released by the garbage collector Image class can be examined by debugger Image class contains advanced methods that is not available on OpenCV such as conversion to bitmaps

Image representation in Emgu Can create an un-initialized graylevel image of a given size Or can initialize the pixel data Similarly for an RGB image Image img1 = new Image (400, 300); Image img2 = new Image (400, 300, new Gray(30)); Image img3 = new Image (400,300, new Bgr(100, 100, 100));

Image representation in Emgu Images can also created from a file or a bitmap Image img1 = new Image ("MyImage.jpg"); Image img3 = new Image (bmp);

Getting or Setting Pixels in Emgu The slow way is to use the [] operator on the image object Faster way is to use the Data property of the image object pixels-of-an-image-with-emgu-cv gives some benchmarking for iterating over pixel data pixels-of-an-image-with-emgu-cv // Get the gray level Gray g = img[y, x]; // Set the gray level img[y,x] = new Gray(100); Byte g = img.Data[y, x, 0];

Displaying, drawing and converting images An image can be displayed using the ImageBox control ImageBox is a high performance control for displaying images. Displays a Bitmap that shares memory with the Image object, therefore no memory copy is needed (very fast). The Image class has a ToBitmap() function that return a Bitmap object Allows the image to be displayed on a PictureBox control There is also an ImageViewer class in the Emgu.CV.UI namespace

Displaying, drawing and converting images The Draw() method in Image can be used to draw different types of objects, including fonts, lines, circles, rectangles, boxes, ellipses as well as contours More efficient method is to draw as a graphics overlay Image image = new Image (400, 300); Rectangle rect =new Rectangle(0,0,200,300); image.Draw(rect, new Gray(200), 2); Image image = new Image (400, 300); Rectangle rect =new Rectangle(0,0,200,300); Graphics.FromImage(image). DrawRectangle(new Pen(yellow), rect);

Conclusions Emgu is a powerful development platform for image processing/computer vision Similar capabilities to OpenCV but has additional capabilities because of additional language features specific to C#