1、REMEDIALITEBenjamin HeippSoftware Requirements Specification10/21/0511TABLE OF CONTENTSIntroduction 2Glossary. 3User Requirements Definition. 4Domain Requirements Definition. 6System Architecture. 7System Models. 8System Development Plan. 922INTRODUCTION The purpose of this document is to specify th
2、e user and system requirements for RemediaLite, an interactive image editing application. This application is intended for use by the hobbyist or amateur photographer, as it will not provide sufficient depth and correction utilities for a professional photo editing suite. It will read in an image, a
3、ttempt to automatically correct linear distortion, and allow the user to modify these corrections. The user will also be able to make additional alterations. The most common types of distortion that will be corrected are pincushion and barrel distortion.Panorama Tools, a system developed by Helmut D
4、ersch, will provide the basis for the distortion correction system. Using previously developed algorithms for image correction will allow this software to focus on the automated correction process, rather than determining a system for correcting linear lens distortion. 33GLOSSARYBarrel Distortion A
5、lens effect which causes images to receive an inflated or spherized, appearance. It is often associated with wide angle lenses and often occurs when using wide zoom lenses.Pincushion Distortion A lens effect which causes images to be pinched at their center. Pincushion distortion is often associated
6、 with tele lenses and occurs when using tele zoom lenses.44USER REQUIREMENTS DEFINITION 1.0.0 File Management1.0.1 Open File: The system will be able to receive an external image for modification. A limited number of image file types will be supported including JPEG and PNG. The application will dis
7、play the original and corrected versions of the image to the user.Rationale: In order to make corrections to an image, the application must be able to open and display various image formats and make corrections to these files. 1.0.2 Save File: The system will be able to output an image for external
8、use. The system will overwrite the current file with the most recent version.Rationale: The user may wish to use their file in another application or to display in another medium, and as a result they should be able to export the file for use in other systems.1.0.3 Save File As: The system will be a
9、ble to specify the output location of an image for later use. Rather than overwriting the file, the system will allow the user to specify the location and filename for future reference.Rationale: The user may wish to user their file in another application without overwriting their initial file. This
10、 allows for the user to create multiple versions of a file and easily compare them.1.2.0 Distortion Correction1.2.1 Linear Distortion Correction: The system will be able to correct linear distortion. The system will make radial corrections to the image in order to accurately display the image Ration
11、ale: The basis of the program is providing a way to correct the linear distortions of the image. This will also allow the user to alter the values if the automatic adjustment does not provide adequate results.1.2.2 Automated Linear Distortion Correction: The system will automatically adjust the line
12、ar distortion correction to provide a remediated image. Using predetermined values, the system will attempt to automatically adjust the distortion to correct the image.Rationale: By providing the user a way to simply load in their image and see a corrected version, they can easily tell what needs to
13、 still be adjusted. This system is an extension of the linear distortion correction system.1.2.3 Distortion Calibration: The program will allow the user to calibrate the automatic linear distortion correction for their specific camera and lens combination.Rationale: In order to accurately correct th
14、e linear distortion system, the user must calibrate their particular lens/camera combination. This process will walk users through the setup.551.2.4 Save Distortion Calibration Settings: The system will allow the user to save the settings they have established during calibration for later use.Ration
15、ale: The user should be able to save their calibration settings so that they do not have to calibrate the program with each use.1.2.5 Load Distortion Calibration Settings: The system will allow the user to load previously saved calibration settings.Rationale: The user will be able to load previously
16、 created calibration settings so they do not have to calibrate the program with each use.1.3.0 Color Correction: The system will allow the user to adjust the Red, Green, and Blue values of the image as a whole. The user will be able to adjust the RGB values of the image.Rationale: In order to proper
17、ly adjust an image, the user should be allowed to accurately correct the color of their image to their specifications.1.3.1 Red Color Channel Adjustment: The system will allow the user to adjust the Red color channel independently of the Green and Blue channels.Rationale: When adjusting the color ch
18、annels, the user should be able to properly adjust the image to their specifications by adjusting specific color channels.1.3.2 Green Color Channel Adjustment: The system will allow the user to adjust the Green color channel independently of the Red and Blue channels.Rationale: When adjusting the co
19、lor channels, the user should be able to properly adjust the image to their specifications by adjusting specific color channels.1.3.3 Blue Color Channel Adjustment: The system will allow the user to adjust the Blue color channel independently of the Red and Green channels.Rationale: When adjusting t
20、he color channels, the user should be able to properly adjust the image to their specifications by adjusting specific color channels.1.4.0 Cropping: The system will allow the user to specify a rectangular area for which the image will be cropped to.Rationale: The user may wish to keep only a small p
21、ortion of their image, or cut off the excess space so as to have a rectangular image after distortion correction.2.0.0 Accurate Automatic Distortion Correction: The system will provide an accurate method of automatically correcting distortion.Rationale: While an automated distortion correction syste
22、m is a nice feature, the real benefit comes from a correction system that correctly 66calculates and adjusts the system. Rather than the speed of the program, the accuracy deserves higher priority.2.0.1 Accurate Color Correction: The system will provide an accurate method of adjusting the color valu
23、es of an image.Rationale: The benefits of a color correction system become moot if the system does not provide accurate color correction.77DOMAIN REQUIREMENTS DEFINITION3.0.0 Digital Images: A variety of digital images with specific information will be required. In order to automatically correct ima
24、ges, the digital camera will be required to record information regarding the particular photograph, including Field of View, Focal Length, and aperture settings.3.1.0 Computer Hardware: Due to the nature of the Panoramic Tools correction system, the recommended system requirements will be increased.
25、 Although this is not a mandatory requirement, the better the users system, the lower the wait time.88SYSTEM ARCHITECTURE 4.1 File InputThis module allows the user to load a previously existing image into the application. The user will then be able to adjust the image to their specifications. This s
26、ystem will also handle the loading of calibration settings into the system.4.2 Distortion CorrectionThis module allows the user to automatically or manually correct the distortion present in their file. This allows the user to remediate their file as necessary to achieve their desired results4.3 Col
27、or CorrectionThis module allows the user to adjust the RGB values and individual channels of an image. Through this module, they will be able to adjust these values to their needs.4.4 Distortion CalibrationThis module allows the user to calibrate the system to their camera set-up. Without a calibrat
28、ion system, the automated correction process would not support multiple cameras.4.5 File OutputThis module allows the user to output files from the system. These files include image files that have been remediated or calibration settings for later use.99SYSTEM MODELS File InputDistortion CorrectionDistortion CalibrationAutomated Distortion CorrectionColor CorrectionFile OutputIn the above model, inputs and outputs are shown through the use of arrows. System modules are represented as boxes.