Chapter 10 Image Processing https vtk orgdocumentation Outline























- Slides: 23

Chapter 10 Image Processing https: //vtk. org/documentation/

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 Glass google. com/glass • Kinect Fussion https: //www. youtube. com/watch? v=qu. Ghaggn 3 c. Q https: //www. youtube. com/watch? v=GKRHWBS 6 gu. M

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 2 D or 3 D

Applications: Remote DWA

DWA: Web-based Image Processing Multi-tier Web Application: Client (phone app) Web Server Application Server Database Server

Architecture of a Four-Tier Application Supporting Software App User Interface Application Logic Database Engine Database DBMS / Database Server Database API Application Server Architecture of a Four-Tier Application WEB S E R V E R C L I E N T

Architecture of Remote DWA Supporting Software Mobile Dispatch Server WEB APP User Interface DWA Image Processing Database Engine Database DBMS / Database Server Open. MRS SANA (sana. mit. edu) Architecture of Remote DWA Four-Tier Application S E R V E R MOCA Phone APP

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

DWA: Image Processing (1) (2) (3) (4) Preprocessing Segmentation Image Analysis 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 vector Public Gray. Scale. Image convert. To. Gray. Scale( Color. Image 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 Gray. Scale. Image(width, height, newimage);

Segmentation: Grey Scale Conversion /// grey scale as I in the IYQ model Public Gray. Scale. Image convert. To. Gray. Scale. YIQ( Color. Image 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 Gray. Scale. Image(width, height, newimage);

Segmentation: Gradient Computation /// Compute the gradient of grey scale, public void compute. XDif. Image(Gray. Scale. Image image){ …. for(int i = 0; i < total-1; ++i) { newimage[i] = Math. abs(image[I + 1] - image[i]); ; } } return new Gray. Scale. Image(width, height, newimage);

Segmentation: Edge Formation Create an array list for each edge. Array. List<Integer> edge = new Array. List<Integer>() for(int i = 0; i < total; ++i) { if(image[i] > threshold) add. Edge. Pixel(i); // …… } edges = new Array. List<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) (2) (3) (4) Size Color Shape Depth (3 D)

Image Analysis: Size (1) Registration (2) Calibration (3) Measurement count pixels by region 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/ Open. CV: http: //opencv. org Open. CV application in robotics: http: //opencv. willowgarage. com/