Java Image Transformation Function Development

Job ID: 39117418

Budget: $10 – $30 CAD

I'm looking for a Java function to perform specific image transformations. The function should transform an image with a specified set of transformations and optionally apply a background.

The function signature should be:
public BufferedImage transformImage(BufferedImage image, BufferedImage background)

The transformations to be applied are:
- RandomPerspective with a distortion scale of 0.2 and a probability of 0.8
- ColorJitter with slight variations in brightness, contrast, hue, and saturation
- GaussianBlur with a kernel size of (7, 7) and a sigma between 0.1 and 3
- RandomRotation applied with a 30% probability
( transforms = v2.Compose([
v2.RandomPerspective(distortion_scale=0.2, p=.8),
v2.ColorJitter(brightness=.1, contrast=.1, hue=.1, saturation=0.1),
v2.GaussianBlur(kernel_size=(7, 7), sigma=(0.1, 3.)),
v2.RandomApply([v2.RandomRotation(degrees=(90,90), expand=True)], p=0.3)
])


The images to be processed will be sourced from local files and the function should only need to support a single image format. While speed is important, it is not critical. The implementation can use any image processing package, OpenCV or JAI, although I have no preference.

Ideal skills for the job include:
- Proficiency in Java
- Experience with image processing
- Familiarity with OpenCV or JAI
- Ability to write efficient and clean code.

Attached are an example of the image.
brb-1-abyssal-specter.png is the given image.
pexels-bri-schneiter-28802-346529.jpg is the background
final.jpg is the result.

Output image has to have the same aspect ratio as the input image but the size can be a bit bigger. The background will have to be cropped.

I tried with Gemini and I wrote 80% of the code for me but I don't have time to finish. Looking for someone to complete this project quickly.

Prices in CAD.