yingcai xiao
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 PresentationTRANSCRIPT
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
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
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: Healing Projection
(1) Fit into existing healing trajectories.
(2) Numerical results of predication.