Presentation is loading. Please wait.

Presentation is loading. Please wait.

Team Babbage Charles Maingi Seph Newman Jon Rollman Nils Schlupp.

Similar presentations


Presentation on theme: "Team Babbage Charles Maingi Seph Newman Jon Rollman Nils Schlupp."— Presentation transcript:

1 Team Babbage Charles Maingi Seph Newman Jon Rollman Nils Schlupp

2 ACL2 Image Editor Text input file provides a list of Bitmap files to edit along with what types of edits to perform. Errors are written to a separate file. TestFile.bmpTestFile_modified.bmp

3 Storing Bitmaps in ACL2 Naïve method: – Store RGB values in a single list – Slow access for individual pixels: O(N) Possible alternate methods: – Pixel Quadrants: Difficult to Implement. Would have to modify AVL tree code. O(logN) – Row Tree – Column Trees Can reuse existing AVL tree code. O(logN)

4 Bitmap Data Structure Solution: A tree of trees. – Row Tree: Key indicates a pixel row. Data is another a column tree. – Column Tree: Key indicates a pixel column. Data is pixel RBG data. Key: Pixel Row 2 Data: Tree B Key: Pixel Row 2 Data: Tree B Key: Pixel Row 1 Data: Other Tree Key: Pixel Row 1 Data: Other Tree Key: Pixel Row 3 Data: Other Tree Key: Pixel Row 3 Data: Other Tree Tree A Key: Pixel Col 2 Data: RGB Data Key: Pixel Col 2 Data: RGB Data Key: Pixel Col 1 Data: RGB Data Key: Pixel Col 1 Data: RGB Data Key: Pixel Col 3 Data: RGB Data Key: Pixel Col 3 Data: RGB Data Tree B

5 Program Structure Main module reads in files (bitmaps and input output text files) with the help of File Reader. Individual image functions are broken up into their own modules. These modules will rely on common module with shared functions. Such as converting between RGB and HSV

6 Image Manipulation Functions Colorize/Tint: Adjust RGB values as specified by the user. Accepts whole numbers as additive and floating numbers as multipliers. – colorize Resize/scale: Resize the file to a new size specified. Accepts size in pixel or percent. – resize [filter] Original File 200% Scaling With no Filter200% Scaling With cubic Filter Example of resize command:

7 Crop: Specify a rectangular region to crop out. Specify the upper left and lower right corner. – crop Flip: Flips an image either horizontally or vertically. Specify with either h or v. – flip Rotate: Rotate in increments of 90 degrees. Specify degrees. – rotate Trim: Trims the specified color from the edges. Uses top-left pixel if none specified. – trim [red] [green] [blue] Original FileTrimmed based on top-left pixel Example of trim command:

8 Draw: Allows the drawing of a simple shape. – draw line – draw filled-rectangle – draw border-rectangle – draw filled-circle – draw border-circle Blank.bmpBlank_modified.bmp Example of draw commands:

9 Decorate: Add a solid color border/frame. – decorate Threshold: Remove all pixels below a certain RGB value making them white. – threshold Blur: Blur an area (or the entire image) based on nearby pixels. – blur [origin x] [origin y] [radius] Original FileBlurred the Entire Image Example of blur command:

10 Generate- Generates images – solid_color – linear_gradient – circular_gradient – checkerboard – Interlacing_horizontal – Interlacing_vertical Overlay- Merge a generated image into a given image – overlay # # [filter] += Original BMP File Generated Gradient Gradient overlaid on original Image using multiply filter. Example of overlay and linear_gradient commands:

11 Future Plans Distortions: Smudges, fisheye, and other effects. Sharpen: Recover detail from blurred/low resolution images. Improve overlay command to take in a second image file to act as a mask. + original.bmpmask.bmp original_modified.bmp = Example of plans for improved overlay command:

12 Probe PSP SummaryPlan LOC/Hour10 Lines/Hour Base0 Lines Deleted0 Lines Modified0 Lines Reused264 Lines Added1267 Lines New1267 Lines Total LOC1531 Lines Estimated LOC1267 Lines Estimated Time126.7 Hours This doesn’t take into account Interfaces, ancillary module components (ex: imports/exports), or include statements. Furthermore we have underestimated our total LOC significantly in the past as it is often difficult to determine all the supporting functions ahead of time. As such, we are confident we will hit the 2000 LOC mark.


Download ppt "Team Babbage Charles Maingi Seph Newman Jon Rollman Nils Schlupp."

Similar presentations


Ads by Google