I did a presentation on blob analysis a couple years back. I think it is an important topic that I enjoyed learning about. I covered blob analysis and a brief amount of morphology. Another student covered that in depth so there is not too much info there. Information on this topic can be found online, but actual algorithms for many of the ideas was tough to find.
Blob Analysis
- This is taking an image, thresholding it to black and white (binary) only and then using this to make decisions or take measurements.
Examples:
Centroid - Find the center of a blob object
Size - Find the size of a blob object
Amount - Finds the amount of blobs in the image
Extent - Find the extent of an image (usually grouping is a good method)
Morphology
- This is used on a black/white image to enhance the image. Of course you can apply some of these techniques to enhance the image prior to making the image binary (color or greyscale).
Examples:
Erosion - This shrinks blob objects
Dilation - This grows blob objects
Watershed - This helps find edges
Boundary Extraction - This helps find edges
I plan on going into each section in more detail when I get the chance. For now here is the presentation that I made for my class.
Showing posts with label Image Processing. Show all posts
Showing posts with label Image Processing. Show all posts
Monday, February 22, 2010
Tuesday, February 16, 2010
OpenCV 2.0, Windows and Eclipse Setup Instructions
This blog involves the latest release of OpenCV 2.0. I have concentrated most of my time into developing OpenCV applications in the Linux environment. This time I wanted to learn how to set it up in Windows with the latest stable release of OpenCV.
Documentation:
This following document involves the setup of Eclipse for OpenCV2.0 in Windows, the installation of all necessary programs to be installed to run OpenCV2.0 in Eclipse, and how to add an existing project. This document was originally designed for my Professor's Digital Image Processing class at the UNH ECE Department. The basic setup procedure was created by Jon Carrier over at Carrier Frequency. This document incorporates images for ease of understanding.
Document: OpenCV2.0 Project Setup in Eclipse.pdf
Sample Code:
This sample code is for someone that wants to get into Image Processing with a minimal setup. Students of Image Processing classes are encouraged to utilize this code. I ask that you do not remove the citation information in order to preserve the originality of the work.
What it is:
This is code that can be imported into Eclipse and run and modified without much effort.
What is does:
The code opens a camera capture and allows the user to press certain keyboard numbers to toggle between algorithms. By default the program has 5 settings.
Documentation:
This following document involves the setup of Eclipse for OpenCV2.0 in Windows, the installation of all necessary programs to be installed to run OpenCV2.0 in Eclipse, and how to add an existing project. This document was originally designed for my Professor's Digital Image Processing class at the UNH ECE Department. The basic setup procedure was created by Jon Carrier over at Carrier Frequency. This document incorporates images for ease of understanding.
Document: OpenCV2.0 Project Setup in Eclipse.pdf
Sample Code:
This sample code is for someone that wants to get into Image Processing with a minimal setup. Students of Image Processing classes are encouraged to utilize this code. I ask that you do not remove the citation information in order to preserve the originality of the work.
What it is:
This is code that can be imported into Eclipse and run and modified without much effort.
What is does:
The code opens a camera capture and allows the user to press certain keyboard numbers to toggle between algorithms. By default the program has 5 settings.
- Press the number 1 button to run the Canny edge detector with a specified threshold
- Press the number 2 button to run the Canny edge detector with a threshold value of 1
- Press the number 3 button to run an algorithm that manipulates at the pixel level to remove the green channel.
- Press the ESC key to exit the program
- Press any other key to undo all editing settings (default case)
What to do with it:
Edit the code and make it your own. For users that do not know much about OpenCV and/or C++ programming the code is very simple and there are great instructions included.
How to add your own code:
In the Laboratory.cpp file add a new case to the switch statement. Just increment the case number and the ASCII value for that value is the button you press to call your function. Then edit VisionJobs.h to declare a new function. Then edit VisionJobs.cpp and add your new function there and modify the frames as necessary.
Code:
Ok lets get to it and let you download the code.
Download location is here (zip file containing all .c and .h files and Eclipse .cproject and .project files)
Labels:
C++,
Eclipse,
Image Processing,
OpenCV,
OpenCV 2.0,
Tutorial,
Windows
Monday, November 23, 2009
Kalman Filtering Application for Foggy Images
A couple of years ago I took an Estimation and Filtering class. We covered many different topics, but one of the main ones was Kalman Filtering. This is a very popular type of filtering and estimating that attempts to use past measurement(s) (noisy) and estimate the true current value(s) (with error minimized). Some assumptions are made with the type of noise that we are dealing with. Try this page or this page for some better descriptions of Kalman Filtering and the algorithm.
In this class we had to find an application and discuss it. Here is my presentation on the paper titled: A KALMAN FILTER BASED RESTORATION METHOD FOR IN-VEHICLE CAMERA IMAGES IN FOGGY CONDITIONS
Paper Link
Presentation Link
In this class we had to find an application and discuss it. Here is my presentation on the paper titled: A KALMAN FILTER BASED RESTORATION METHOD FOR IN-VEHICLE CAMERA IMAGES IN FOGGY CONDITIONS
Paper Link
Presentation Link
Labels:
Image Processing,
Kalman Filtering,
Presentation
Subscribe to:
Posts (Atom)
