File size: 1,023 Bytes
f31c85a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import numpy as np
import cv2, os
from PIL import Image
import tensorflow as tf
from keras.preprocessing import image
from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing.image import img_to_array, save_img, array_to_img


def generate_new_image(image_path, model_path, imageID = 0):
    # Processing Image
    img = cv2.imread(image_path)
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    original_height, original_width = img.shape[:2]
    img_arr = (img_to_array(img) - 127.5) / 127.5
    resized = cv2.resize(img_arr, (256, 256), interpolation=cv2.INTER_AREA)
    ready_img = np.expand_dims(resized, axis=0)

    # Loading Model
    model = load_model(model_path)

    # Prdicting Image
    pred = model.predict(ready_img)
    pred = (cv2.medianBlur(pred[0], 1) + 1) / 2
    pred = cv2.resize(pred, (original_width, original_height))
    pred = array_to_img(pred)
    final_image_path = f"captures/new_image_{imageID}.png"
    save_img(final_image_path, pred)
    return final_image_path