Inspiration
Bieever (pronounced "beaver") is an acronym for "Best Image Editor Ever". In our CS240 class, we did a lot of projects involving image manipulation, which inspired this image editor. We aimed to create a small, but useful desktop application for editing many common image formats.
What it does
Bieever allows for image manipulation through a slew of sliders that control global variables, such as brightness, contrast, sharpness, red, green and blue channel intensity. We also added implementation for cropping and rotating an image, as well as custom presets for global image manipulation that can be saved and loaded from the computer's hard drive.
How we built it
We created Bieever using Java and Swing GUIs. We handled global image manipulation through bit shift operations and multiplying byte values by a factor. We saved presets to text files with the extension .txt to differentiate them from other text files, then loaded to make global changes. Most of the operations were performed on a row-major matrix of each image's pixels.
Challenges we ran into
The GUI was difficult to accomplish. Members of the team were reluctant to use NetBeans' Swing GUI designer and as such used a default Swing template. We lament the lack of development of the user interface. We also wanted to add a saturation slider, but found that the math required converting RGB values to HSV, performing the necessary operation, then converting it back into the RGB color space. We ultimately decided against it in the interest of saving time. Java image manipulation is also a very resource-intensive process, and as such requires a powerful computer.
Accomplishments that we're proud of
The Bieever development team is proud to have created an application that demonstrates our understanding of bit operations and how they relate to image processing. We are also proud that we created a team that could work togethger to understand and achieve a common goal.
What we learned
The Netbeans Swing editor would have been very helpful to use. We also learned how to process and save images and use Java's built-in methods relating to images.
What's next for Bieever
Code optimizations, an improved GUI, and a port to a more graphically-efficient language like C++ will greatly improve the usability and speed of Bieever.
How to use
You can load an image into Bieever using File>Open and select an image file. You can then use the sliders on the right hand side of the screen to make modifications to the image. To crop, click the "Crop" button, select opposing corner, then click "Crop" again to confirm. This will display a preview of the crop; making further adjustments will revert it to the original. Save it using File>Save to keep the crop. Completed images will be stored in your user/workspace/Bieever folder.
Log in or sign up for Devpost to join the conversation.