Files
2024-12-07 02:00:39 +08:00

75 lines
2.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import cv2
import numpy as np
class Read_image_and_Process_image:
def __init__(self) -> None:
pass
def get_data(self, path):
'''讀檔'''
img_size = 512 # 縮小後的影像
try:
img_arr = cv2.imread(path, cv2.IMREAD_COLOR) # 讀檔(彩色)
# img_arr = cv2.imread(path, cv2.IMREAD_GRAYSCALE) # 讀檔(灰階)
resized_arr = cv2.resize(img_arr, (img_size, img_size)) # 濤整圖片大小
except Exception as e:
print(e)
return resized_arr
def Data_Augmentation_Image(self, path):
resized_arr = []
for p in path:
img_size = 512 # 縮小後的影像
try:
img_arr = cv2.imread(p, cv2.IMREAD_COLOR) # 讀檔(彩色)
# img_arr = cv2.imread(path, cv2.IMREAD_GRAYSCALE) # 讀檔(灰階)
resized_arr.append(cv2.resize(img_arr, (img_size, img_size))) # 濤整圖片大小
except Exception as e:
print(e)
return np.array(resized_arr)
def image_data_processing(self, data, label):
'''讀檔後處理圖片'''
img_size = 512
data = np.asarray(data).astype(np.float32) # 將圖list轉成np.array
data = data.reshape(-1, img_size, img_size, 3) # 更改陣列形狀
label = np.array(label) # 將label從list型態轉成 numpy array
return data, label
def normalization(self, images):
imgs = []
for img in images:
img = np.asarray(img).astype(np.float32) # 將圖list轉成np.array
img = img / 255 # 標準化影像資料
imgs.append(img)
return np.array(imgs)
# def load_numpy_data(self, file_names):
# '''載入numpy圖檔並執行影像處理提高特徵擷取'''
# i = 0
# numpy_image = []
# original_image = []
# for file_name in file_names:
# compare = str(file_name).split(".")
# if compare[-1] == "npy":
# image = np.load(file_name) # 讀圖片檔
# numpy_image.append(image) # 合併成一個陣列
# else:
# original_image.append(file_name)
# original_image = self.get_data(original_image)
# for file in original_image:
# numpy_image.append(file)
# return numpy_image
def make_label_list(self, length, content):
'''製作label的列表'''
label_list = []
for i in range(length):
label_list.append(content)
return label_list