OpenCV with Python Blueprints
上QQ阅读APP看书,第一时间看更新

Planning the app

The final app will consist of the following modules and scripts:

  • filters: A module comprising different classes for the three different image effects. The modular approach will allow us to use the filters independently of any graphical user interface (GUI).
  • filters.PencilSketch: A class for applying the pencil sketch effect to an RGB color image.
  • filters.WarmingFilter: A class for applying the warming filter to an RGB color image.
  • filters.CoolingFilter: A class for applying the cooling filter to an RGB color image.
  • filters.Cartoonizer: A method for applying the cartoonizer effect to an RGB color image.
  • gui: A module that provides a wxPython GUI application to access the webcam and display the camera feed, which we will make extensive use of throughout the book.
  • gui.BaseLayout: A generic layout from which more complicated layouts can be built.
  • chapter1: The main script for this chapter.
  • chapter1.FilterLayout: A custom layout based on gui.BaseLayout that displays the camera feed and a row of radio buttons that allows the user to select from the available image filters to be applied to each frame of the camera feed.
  • chapter1.main: The main function routine for starting the GUI application and accessing the webcam.