SlideShare a Scribd company logo
Leutron Vision - OrChid Guide
Outline Introduction Image Acquisition Image Processing Advanced Topics Commands
Introduction Orchid/Daisy DLL  / .Net Class Library Log Message Receiver Obsolete - ActiveX
Introduction Log Message Receiver
Introduction Acquisition Modules Processing Modules Modules Live Module (LvxLive) Real-Time Modules  (LvxRt) The Preprocessor Module (LvxPrep) The DirectX Preprocessor Module(LvxDX)
Introduction Display Live Image Making a Snap(By Stopping the Live) Copying the Snap Image to Clipboard Saving the Snap Image to a BMP, TIFF or JPG File Saving Live Image to an AVI file Returning the Snap Bitmap as Pointer to Device Independent Bitmap Display a Dialog Box for Grabber/Camera/Connector Selection Display a Dialog Box for Live Image Setting Possibility to Save/Load the Setting LvxLive Module
Introduction Primary Module / Asynchronous Reset Module Grabbing of an Image or Sequence of Images to an Internal Buffer Display the Acquired Sequence Notify Frame Completion Grabbing in a Loop to Simulate Live Saving Image to BMP, TIFF, JPEG file Adding Grabbed Image to AVI File Copying Image to Clipboard Display a Dialog Box Real Time Module Run-Time Setting I/O Configure COM Ports Communication
Introduction Convert Pixel Format Applying Filters Preprocessor Module Noise Reduction Bayer Array Decoding White Balance 、 Color Space Correction Shading Correction Overlay Text or Graph
Introduction Image Manipulation Overlay Text and Graphics DirectX Processor
Introduction C Interface Backward compatible DLL Version of Orchid
Introduction Unmanaged/managed Code .NET Frame Work 2.0 LeutronVision.Orchid.DLL .Net Class Library
Introduction DLL - C .Net - C++ lvx_OpenTask() / lvx_CloseTask() lvx_ Prefix Error Handling GDIPlus Difference Between DLL and .Net Class Library Version
Introduction The names of the Orchid .Net Classes correspond to the module types: • LvxLive - the Live module • LvxRt - the real-time Primary module (based on Basic Sequencer  DRAL) • LvxRtAr - the real-time Asynchronous Reset module (based on  Asynchronous Reset Sequencer DRAL) • LvxPrep - the Preprocessor module • LvxDX - the DirectX Processor module • LvxDll - auxiliary class for controlling the load of Orchid.DLL.  Its properties and methods are static, i.e. you do not need to create an instance of this class and use the properties and methods directly. • LvxException - class for throwing exceptions, derived from System::Exception
•  For  C/C++ compilers  the  Orchid.lib  import library must be linked to your application and the Orchid.h file must be included. Note that for Borland compilers the  OrchidBc.lib  must be used instead. •  For  Borland Delphi , the Orchid.pas unit is to be added to your project and referenced in the "uses" part in other units. Alternatively, you can use  OrchidDyn.pas , which can load Orchid DLL on demand. •  For  MS Visual Basic 6  the  Orchid.bas  file is to be added to the project. Introduction Linking Orchid With Your Application
Introdction 1. Check in your code 2. Hardware Functionality 3. Manual Log Message Receiver Trouble Shooting * Running Before Orchid Application Star up * spends additional time by sending the messages to it
Image Acquisition Setup A Connection Specify Display Window Showing the Live Image and Setting its Attributes Making a Snap and Setting its Attributes Recording to AVI File Saving the Setting Other Functions Understanding LvxLive Module Functionality
Image Acquisition LvxBaseAcquisition::Grabber, LvxBaseAcquisition::Connector, LvxBaseAcquisition::Camera lvx_DisplayConnectionDialog() Setting Up a Connection
Image Acquisition Lvx_SetDisplayWindow() Specify Display Window
  Image Acquisition lvx_SetLive() lvx_SetGain() lvx_SetExposure() lvx_SetBlackLevel() Showing the Live Image and Setting its Attributes
Image Acquisition lvx_DisplaySnapSettingDialog() lvx_CreateDisplayableImageBitmap() Making a Snap and Setting its Attributes
Image Acquisition Select Compressor lvx_SaveAviSettings() lvx_LoadAviSettings() lvx_SetCaptureToAvi() Recording to AVI File
Image Acquisition lvx_SaveSettings() lvx_LoadSettings() Save Setting
Image Acquisition lvx_SetLoadWindowEnable() lvx_SetOptoOutput() Other Functionality
Image Acquisition Hardware: Direct to VGA Memory Software: to CPU Memory DirectX(Visible) Hardware/Software Transition MDI Command: Window List Add / Window List Clear Hardware Live V.S. Software Live
Image Acquisition Open Format Codec Issue lvx_DisplayAviSettingDialog() lvx_SaveAviSettings() Create AVI File
Image Acquisition Frame Rate Image Size Can’t Resize Creat AVI File Indeo Version 4 - Quick Compress Option LvxLive Module - Divided by 8
Image Acquisition lvx_OpenAviFile() lvx_CloseAviFile() lvx_SaveImageToAviFile() AVI Functions
  Image Acquisition Sequences and Frames Check Point Module Type More Initial Setting Initializing the Module Run-Time Settings Grabbing Specify Display Window Live Understanding the Functionality of Real-Time Modules
Image Acquisition Accessing Grabbed Images Storing Grabbed Images to File Saving and Loading the Settings I/O Settings Other Functions Advanced Functions Understanding the Functionality of Real-Time Modules
Image Acquisition Circular Buffer Analog Grabber : Sub-Sequence Digital Grabber : Historical Reason lvx_GetSubsequences() Sequences and Frames
Image Acquisition Grabbing / Circular Buffer Check Control Value Continue Flag lvx_GrabContinue() Attribute: AsynchronousGrab Check Points
Image Acquisition LvxRT LvxRtAr Module Type
Image Acquisition lvx_Initialize() lvx_GrabContinue() Initialize the Module
Image Acquisition LvRT LvRtAr Run Time Setting LvxRT::ExternalTrigger LvxBaseAcquisition::SetGain() LvxBaseAcquisition::SetExposure() LvxRtAr::ShutterTime LvxRtAr::CameraRestartDelay LvxRtAr::FlashMode LvxRtAr::FlashEnable
Image Acquisition lvx_GrabContinue() wait for Trigger wait for Next Frame lvx_SetNotifyCallBack() Grabbing
Image Acquisition Handle lvx_SetTileImages() lvx_DisplayImage()/lvx_DisplayImageEX() lvx_CreateDisplayableImageBitmap() Specify Display Window
Image Processing Convert Color Format Preprocessing Filter Overlay Text
Image Processing Lvx_OpenTask(lvx_Task_Preprossor) Attach to Acquisition Module lvx_SetOwnerTask() lvx_PreprocessImage() Using the Preprocessor
Image Processing Lvx_SetOwnerTask() •  Create the acquisition module and the preprocessor module. •  Configure the acquisition module. •  lvx_Initialize() method. 。 Lvx_SetOwnerTask() 。 Configure Filters and Overlays Sequences of initialize
Image Processing The Color Format Conversion Filters Overlays Text Shadow by the WriteTextToOverlay Method Configuring the Preprocessor
Image Processing Color format Conversion Configuring the Preprocessor Lvx_SetImageBitsPerPixel()
Image Processing Filters Configuring the Preprocessor Bayer Array Decoding Noise Reduction White Balance Color Space Correction Shading Correction
Image Processing Filters Configuring the Preprocessor lvx_AddFilter() lvx_AddFilterRect() lvx_Command()
Image Processing Noise Reduction Filter Configuring the Preprocessor Pixel by Pixel DestPixel=((100-Factor)*AcquiredPixel +  Factor*AccumulatorPixel)/100
Image Processing White Balance Configuring the Preprocessor [R` G` B`] = [p1* R  p2*G  p3*B]
Image Processing Color Space Correction Configuring the Preprocessor
Image Processing ABSOLUTE_WHITE = (white_image_pixel - offset)* factor 0 = (black_image_pixel - offset)*factor new_pixel_value =  (acquired_image_pixel - offset)* factor
Image Processging lvx_CreatOverlay() lvx_SetOverlayVisible() lvx_SetoverlayOffset() lvx_WipeOverlay() lvx_GetOverlayDc() lvx_ReleaseOverlayDc() Overlays
Image Processing lvx_WriteTextToOverlay() lvx_PutBitmapToOverlay() Overlays
Image Processing TextShadow Overlays lvx_TextAttr_ShadowRB lvx_TextAttr_ShadowRT lvx_TextAttr_ShadowLB lvx_TextAttr_ShadowLT lvx_TextAttr_ShadowB lvx_TextAttr_ShadowT lvx_TextAttr_ShadowL lvx_TextAttr_ShadonR
Image Processing Preprocessing Run Application Controlled Preprocessing Automatic Preprocessing
Image Processing Application Controlled Preprocessing Preprocessing Run lvx_PreprocessImage() lvx_SetNotifyCallBack() lvx_OnCheckPoint()
Image Processing Automatic Preprocessing Preprocessing Run LvxRealTime::Preprocessing Limitation: •  Only single preprocessor can be used. •  It is applied when a checkpoint is reached, always only to the last image. •  The preprocessing is done in-place, so the output color format must be the same as the input.
Image Processing Preprocessing in the LvxLive Module
Image Processing DirectX Display of Image Reduce CPU Load DirectDraw

More Related Content

PPT
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
Kwangshin Oh
 
PDF
New Features Of JDK 7
Deniz Oguz
 
PPT
J2SE 5
Luqman Shareef
 
PDF
Introduction to OSGi (Tokyo JUG)
njbartlett
 
PPT
Java Performance Tuning
Minh Hoang
 
PDF
Java Programming - 01 intro to java
Danairat Thanabodithammachari
 
PPT
GDC 2010 - A Dynamic Component Architecture for High Performance Gameplay
Terrance Cohen
 
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
Kwangshin Oh
 
New Features Of JDK 7
Deniz Oguz
 
Introduction to OSGi (Tokyo JUG)
njbartlett
 
Java Performance Tuning
Minh Hoang
 
Java Programming - 01 intro to java
Danairat Thanabodithammachari
 
GDC 2010 - A Dynamic Component Architecture for High Performance Gameplay
Terrance Cohen
 

What's hot (20)

PPS
Advance Java
Vidyacenter
 
PDF
Java 7 New Features
Jussi Pohjolainen
 
PPT
Threads v3
Sunil OS
 
PPTX
Clojure Fundamentals Course For Beginners
Paddy Lock
 
PPT
iOS Multithreading
Richa Jain
 
PDF
Abc2011 2 yagi
Toshihiro Yagi
 
PDF
Core Java Programming Language (JSE) : Chapter X - I/O Fundamentals
WebStackAcademy
 
PDF
Abc2011 yagi
Toshihiro Yagi
 
PPTX
DevNexus 2020: Discover Modern Java
Henri Tremblay
 
PPTX
Java Programming and J2ME: The Basics
tosine
 
PDF
Basics of building a blackfin application
Pantech ProLabs India Pvt Ltd
 
PDF
Ppl for students unit 4 and 5
Akshay Nagpurkar
 
PDF
camel-scala.pdf
Hiroshi Ono
 
PPTX
Pune-Cocoa: Blocks and GCD
Prashant Rane
 
PDF
Java Performance Tuning
Atthakorn Chanthong
 
PPTX
Grand Central Dispatch
cqtt191
 
PDF
Concurrency Utilities in Java 8
Martin Toshev
 
PPTX
Java servlets
yuvarani p
 
PPT
Java user group 2015 02-09-java8
marctritschler
 
Advance Java
Vidyacenter
 
Java 7 New Features
Jussi Pohjolainen
 
Threads v3
Sunil OS
 
Clojure Fundamentals Course For Beginners
Paddy Lock
 
iOS Multithreading
Richa Jain
 
Abc2011 2 yagi
Toshihiro Yagi
 
Core Java Programming Language (JSE) : Chapter X - I/O Fundamentals
WebStackAcademy
 
Abc2011 yagi
Toshihiro Yagi
 
DevNexus 2020: Discover Modern Java
Henri Tremblay
 
Java Programming and J2ME: The Basics
tosine
 
Basics of building a blackfin application
Pantech ProLabs India Pvt Ltd
 
Ppl for students unit 4 and 5
Akshay Nagpurkar
 
camel-scala.pdf
Hiroshi Ono
 
Pune-Cocoa: Blocks and GCD
Prashant Rane
 
Java Performance Tuning
Atthakorn Chanthong
 
Grand Central Dispatch
cqtt191
 
Concurrency Utilities in Java 8
Martin Toshev
 
Java servlets
yuvarani p
 
Java user group 2015 02-09-java8
marctritschler
 
Ad

Recently uploaded (20)

PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Ad

Orchid Programming

  • 1. Leutron Vision - OrChid Guide
  • 2. Outline Introduction Image Acquisition Image Processing Advanced Topics Commands
  • 3. Introduction Orchid/Daisy DLL / .Net Class Library Log Message Receiver Obsolete - ActiveX
  • 5. Introduction Acquisition Modules Processing Modules Modules Live Module (LvxLive) Real-Time Modules (LvxRt) The Preprocessor Module (LvxPrep) The DirectX Preprocessor Module(LvxDX)
  • 6. Introduction Display Live Image Making a Snap(By Stopping the Live) Copying the Snap Image to Clipboard Saving the Snap Image to a BMP, TIFF or JPG File Saving Live Image to an AVI file Returning the Snap Bitmap as Pointer to Device Independent Bitmap Display a Dialog Box for Grabber/Camera/Connector Selection Display a Dialog Box for Live Image Setting Possibility to Save/Load the Setting LvxLive Module
  • 7. Introduction Primary Module / Asynchronous Reset Module Grabbing of an Image or Sequence of Images to an Internal Buffer Display the Acquired Sequence Notify Frame Completion Grabbing in a Loop to Simulate Live Saving Image to BMP, TIFF, JPEG file Adding Grabbed Image to AVI File Copying Image to Clipboard Display a Dialog Box Real Time Module Run-Time Setting I/O Configure COM Ports Communication
  • 8. Introduction Convert Pixel Format Applying Filters Preprocessor Module Noise Reduction Bayer Array Decoding White Balance 、 Color Space Correction Shading Correction Overlay Text or Graph
  • 9. Introduction Image Manipulation Overlay Text and Graphics DirectX Processor
  • 10. Introduction C Interface Backward compatible DLL Version of Orchid
  • 11. Introduction Unmanaged/managed Code .NET Frame Work 2.0 LeutronVision.Orchid.DLL .Net Class Library
  • 12. Introduction DLL - C .Net - C++ lvx_OpenTask() / lvx_CloseTask() lvx_ Prefix Error Handling GDIPlus Difference Between DLL and .Net Class Library Version
  • 13. Introduction The names of the Orchid .Net Classes correspond to the module types: • LvxLive - the Live module • LvxRt - the real-time Primary module (based on Basic Sequencer DRAL) • LvxRtAr - the real-time Asynchronous Reset module (based on Asynchronous Reset Sequencer DRAL) • LvxPrep - the Preprocessor module • LvxDX - the DirectX Processor module • LvxDll - auxiliary class for controlling the load of Orchid.DLL. Its properties and methods are static, i.e. you do not need to create an instance of this class and use the properties and methods directly. • LvxException - class for throwing exceptions, derived from System::Exception
  • 14. • For C/C++ compilers the Orchid.lib import library must be linked to your application and the Orchid.h file must be included. Note that for Borland compilers the OrchidBc.lib must be used instead. • For Borland Delphi , the Orchid.pas unit is to be added to your project and referenced in the "uses" part in other units. Alternatively, you can use OrchidDyn.pas , which can load Orchid DLL on demand. • For MS Visual Basic 6 the Orchid.bas file is to be added to the project. Introduction Linking Orchid With Your Application
  • 15. Introdction 1. Check in your code 2. Hardware Functionality 3. Manual Log Message Receiver Trouble Shooting * Running Before Orchid Application Star up * spends additional time by sending the messages to it
  • 16. Image Acquisition Setup A Connection Specify Display Window Showing the Live Image and Setting its Attributes Making a Snap and Setting its Attributes Recording to AVI File Saving the Setting Other Functions Understanding LvxLive Module Functionality
  • 17. Image Acquisition LvxBaseAcquisition::Grabber, LvxBaseAcquisition::Connector, LvxBaseAcquisition::Camera lvx_DisplayConnectionDialog() Setting Up a Connection
  • 19. Image Acquisition lvx_SetLive() lvx_SetGain() lvx_SetExposure() lvx_SetBlackLevel() Showing the Live Image and Setting its Attributes
  • 20. Image Acquisition lvx_DisplaySnapSettingDialog() lvx_CreateDisplayableImageBitmap() Making a Snap and Setting its Attributes
  • 21. Image Acquisition Select Compressor lvx_SaveAviSettings() lvx_LoadAviSettings() lvx_SetCaptureToAvi() Recording to AVI File
  • 22. Image Acquisition lvx_SaveSettings() lvx_LoadSettings() Save Setting
  • 23. Image Acquisition lvx_SetLoadWindowEnable() lvx_SetOptoOutput() Other Functionality
  • 24. Image Acquisition Hardware: Direct to VGA Memory Software: to CPU Memory DirectX(Visible) Hardware/Software Transition MDI Command: Window List Add / Window List Clear Hardware Live V.S. Software Live
  • 25. Image Acquisition Open Format Codec Issue lvx_DisplayAviSettingDialog() lvx_SaveAviSettings() Create AVI File
  • 26. Image Acquisition Frame Rate Image Size Can’t Resize Creat AVI File Indeo Version 4 - Quick Compress Option LvxLive Module - Divided by 8
  • 27. Image Acquisition lvx_OpenAviFile() lvx_CloseAviFile() lvx_SaveImageToAviFile() AVI Functions
  • 28. Image Acquisition Sequences and Frames Check Point Module Type More Initial Setting Initializing the Module Run-Time Settings Grabbing Specify Display Window Live Understanding the Functionality of Real-Time Modules
  • 29. Image Acquisition Accessing Grabbed Images Storing Grabbed Images to File Saving and Loading the Settings I/O Settings Other Functions Advanced Functions Understanding the Functionality of Real-Time Modules
  • 30. Image Acquisition Circular Buffer Analog Grabber : Sub-Sequence Digital Grabber : Historical Reason lvx_GetSubsequences() Sequences and Frames
  • 31. Image Acquisition Grabbing / Circular Buffer Check Control Value Continue Flag lvx_GrabContinue() Attribute: AsynchronousGrab Check Points
  • 32. Image Acquisition LvxRT LvxRtAr Module Type
  • 33. Image Acquisition lvx_Initialize() lvx_GrabContinue() Initialize the Module
  • 34. Image Acquisition LvRT LvRtAr Run Time Setting LvxRT::ExternalTrigger LvxBaseAcquisition::SetGain() LvxBaseAcquisition::SetExposure() LvxRtAr::ShutterTime LvxRtAr::CameraRestartDelay LvxRtAr::FlashMode LvxRtAr::FlashEnable
  • 35. Image Acquisition lvx_GrabContinue() wait for Trigger wait for Next Frame lvx_SetNotifyCallBack() Grabbing
  • 36. Image Acquisition Handle lvx_SetTileImages() lvx_DisplayImage()/lvx_DisplayImageEX() lvx_CreateDisplayableImageBitmap() Specify Display Window
  • 37. Image Processing Convert Color Format Preprocessing Filter Overlay Text
  • 38. Image Processing Lvx_OpenTask(lvx_Task_Preprossor) Attach to Acquisition Module lvx_SetOwnerTask() lvx_PreprocessImage() Using the Preprocessor
  • 39. Image Processing Lvx_SetOwnerTask() • Create the acquisition module and the preprocessor module. • Configure the acquisition module. • lvx_Initialize() method. 。 Lvx_SetOwnerTask() 。 Configure Filters and Overlays Sequences of initialize
  • 40. Image Processing The Color Format Conversion Filters Overlays Text Shadow by the WriteTextToOverlay Method Configuring the Preprocessor
  • 41. Image Processing Color format Conversion Configuring the Preprocessor Lvx_SetImageBitsPerPixel()
  • 42. Image Processing Filters Configuring the Preprocessor Bayer Array Decoding Noise Reduction White Balance Color Space Correction Shading Correction
  • 43. Image Processing Filters Configuring the Preprocessor lvx_AddFilter() lvx_AddFilterRect() lvx_Command()
  • 44. Image Processing Noise Reduction Filter Configuring the Preprocessor Pixel by Pixel DestPixel=((100-Factor)*AcquiredPixel + Factor*AccumulatorPixel)/100
  • 45. Image Processing White Balance Configuring the Preprocessor [R` G` B`] = [p1* R p2*G p3*B]
  • 46. Image Processing Color Space Correction Configuring the Preprocessor
  • 47. Image Processing ABSOLUTE_WHITE = (white_image_pixel - offset)* factor 0 = (black_image_pixel - offset)*factor new_pixel_value = (acquired_image_pixel - offset)* factor
  • 48. Image Processging lvx_CreatOverlay() lvx_SetOverlayVisible() lvx_SetoverlayOffset() lvx_WipeOverlay() lvx_GetOverlayDc() lvx_ReleaseOverlayDc() Overlays
  • 49. Image Processing lvx_WriteTextToOverlay() lvx_PutBitmapToOverlay() Overlays
  • 50. Image Processing TextShadow Overlays lvx_TextAttr_ShadowRB lvx_TextAttr_ShadowRT lvx_TextAttr_ShadowLB lvx_TextAttr_ShadowLT lvx_TextAttr_ShadowB lvx_TextAttr_ShadowT lvx_TextAttr_ShadowL lvx_TextAttr_ShadonR
  • 51. Image Processing Preprocessing Run Application Controlled Preprocessing Automatic Preprocessing
  • 52. Image Processing Application Controlled Preprocessing Preprocessing Run lvx_PreprocessImage() lvx_SetNotifyCallBack() lvx_OnCheckPoint()
  • 53. Image Processing Automatic Preprocessing Preprocessing Run LvxRealTime::Preprocessing Limitation: • Only single preprocessor can be used. • It is applied when a checkpoint is reached, always only to the last image. • The preprocessing is done in-place, so the output color format must be the same as the input.
  • 54. Image Processing Preprocessing in the LvxLive Module
  • 55. Image Processing DirectX Display of Image Reduce CPU Load DirectDraw