File size: 1,806 Bytes
ab2b59d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
750d172
 
 
50a42c6
 
 
ab2b59d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50a42c6
 
 
 
ab2b59d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import cv2
import numpy as np

def change_image_color_format(file_path, format_type, angle=0,factor=1.5):
    img = cv2.imread(file_path)

    if format_type.lower() == 'rgb':
        img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
        return img_rgb
    elif format_type.lower() == 'bgr':
        img_bgr = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
        return img_bgr
    elif format_type.lower() == 'grayscale':
        grayscale_img = cv2.cvtColor(img, cv2.IMREAD_GRAYSCALE)
        return grayscale_img
    elif format_type.lower() == 'rotate':
        if angle != 0:
            img = rotate_image(img, angle)
        return img
    elif format_type == "increase_brightness":
        brightened_img = increase_brightness(img, factor)
        return brightened_img
    elif format_type.lower() == "blur_image":
        imgBlur = cv2.GaussianBlur(img,(7,7),0)
        return imgBlur
    elif format_type.lower() == "resize_image":
        resized_image = resize_image(img,width=1000,height=1000)
        return resized_image
        
    
# Function to rotate an OpenCV image (numpy.ndarray)
def rotate_image(image, angle):

    (h, w) = image.shape[:2]
    center = (w // 2, h // 2)
    
    M = cv2.getRotationMatrix2D(center, angle, 1.0)
    
    rotated_image = cv2.warpAffine(image, M, (w, h))
    
    return rotated_image

# Function to increase the brightness of an image
def increase_brightness(image, factor=1.2):
    image = np.array(image, dtype=np.float32)
    
    brightened_image = cv2.multiply(image, np.array([factor, factor, factor], dtype=np.float32))

    brightened_image = np.clip(brightened_image, 0, 255).astype(np.uint8)
    
    return brightened_image

def resize_image(img,width = 200,height = 200):
    imgResize = cv2.resize(img,(width,height))
    return imgResize