yingcai xiao

23
Yingcai Xiao Chapter 10 Image Processing

Upload: rachana-harjit

Post on 31-Dec-2015

25 views

Category:

Documents


0 download

DESCRIPTION

Chapter 10 Image Processing. Yingcai Xiao. Outline. Motivation DWA: a real world example Algorithms Code examples. Motivation: Visualization vs. Computer Vision. Visualization: information to image Computer Vision (CV): image to information Inverse of the process. Visualization: - PowerPoint PPT Presentation

TRANSCRIPT

Yingcai Xiao

Chapter 10

Image Processing

Outline

• Motivation

• DWA: a real world example

• Algorithms

• Code examples

Motivation: Visualization vs. Computer Vision

• Visualization: information to image• Computer Vision (CV): image to information• Inverse of the process

Visualization:Information/Data -> Graphics Objects -> Images Visualization Rendering

Computer Vision:Images->Graphics Objects ->Information/Data Image Processing Pattern Recognition

Motivation: Applications

• Augmented Virtual Reality: visualization meets image processing

• Google Glassgoogle.com/glass

• Kinect Fussionhttps://www.youtube.com/watch?v=quGhaggn3cQhttps://www.youtube.com/watch?v=GKRHWBS6guM

Motivation: Applications

• Medical Imaging tumor detection, wound assessment

• Monitoring traffic, surveillance, defects detection

• Automation robotics, factory, driving

Google autonomous car

Applications: DWA

• Digital Wound Assessment• Can be done locally or remotely• Can be 2D or 3D

Applications: Remote DWA

DWA: Web-based Image Processing

Multi-tier Web Application:Client (phone app)Web ServerApplication ServerDatabase Server

Architecture of a Four-Tier ApplicationArchitecture of a Four-Tier Application

DBMS / Database Server

Database

User Interface

Database Engine

Supporting Software

Application Server

Database API

Application Logic

App User InterfaceWEB

SERVER

Architecture of a Four-Tier Application

WEB

CLIENT

Architecture of Remote DWAArchitecture of Remote DWA

DBMS / Database Server

Database

User Interface

Database Engine

Supporting Software

SANA (sana.mit.edu)

OpenMRS

DWA Image Processing

Mobile Dispatch ServerWEBAPP

SERVER

Architecture of Remote DWA Four-Tier Application

MOCA

PhoneAPP

DWA: Data Representation

• 2D array of colors• Image header: info describe the image (dimensions, …)• Compressed or not• VTK image data (nxnx1)• Java image readers

DWA: Image Processing

(1) Preprocessing(2) Segmentation(3) Image Analysis(4) Healing

Projection

DWA: Image Preprocessing

(1) Calibration(2) Ruler

processing(3) Outlier

remover

DWA: Segmentation

(1) Grey Scale(2) Gradient

(3) Edge formation

Segmentation: Grey Scale Conversion

/// grey scale as the length of the RGB color vectorPublic GrayScaleImage convertToGrayScale(ColorImage colorimage, int width, int height){

….

for(int i = 0; i < total; ++i){

newimage[i] = Math.sqrt((image[i * 3] * image[i * 3] + image[i * 3 + 1] * image[i * 3 + 1] +image[i * 3 + 2] * image[i * 3 + 2] );

}

return new GrayScaleImage(width, height, newimage);}

Segmentation: Grey Scale Conversion

/// grey scale as I in the IYQ modelPublic GrayScaleImage convertToGrayScaleYIQ(ColorImage colorimage, int width, int height){

….

for(int i = 0; i < total; ++i){

newimage[i] = 0.299 * image[i * 3] + 0.587 * image[i * 3 + 1] +

0.114 * image[i * 3 + 2]; }

return new GrayScaleImage(width, height, newimage);}

Segmentation: Gradient Computation

/// Compute the gradient of grey scale, public void computeXDifImage(GrayScaleImage image){

….

for(int i = 0; i < total-1; ++i){

newimage[i] = Math.abs(image[I + 1] - image[i]);; }

return new GrayScaleImage(width, height, newimage);}

Segmentation: Edge Formation

Create an array list for each edge.ArrayList<Integer> edge = new ArrayList<Integer>()for(int i = 0; i < total; ++i){

if(image[i] > threshold) addEdgePixel(i);// ……

}

edges = new ArrayList<ArrayList<Integer> >();edged.add(edge);

Segmentation: Edge Formation

Geometric Descriptors:(1)List of edge pixels.(2)List of line segments.(3)Thining.

DWA: Image Analysis

(1) Size(2) Color(3) Shape(4) Depth (3D)

Image Analysis: Size

(1) Registration(2) Calibration(3) Measurement

count pixels byregion growing

DWA: Healing Projection

(1) Fit into existing healing trajectories.

(2) Numerical results of predication.

Image Processing Tools:

ITK by Kitware: http://www.itk.org/

OpenCV:

http://opencv.org

OpenCV application in robotics: http://opencv.willowgarage.com/