Я пробовал накладывать два изображения в openCV как в openCV, так и в PIL, но безрезультатно.Я использую 1000x1000x3
массив np.zeros
для фона (он же черный фон) и это случайное изображение моего монитора, но я действительно не могу заставить его работать по какой-то причинебез моего ведома.
Попытка только с OpenCV: ( результат (если вы обратите внимание, вы можете увидеть пару странных линий и точек в середине))
base_temp = np.zeros((1000,1000,3))
foreground_temp = cv2.imread('exampleImageThatILinkedAbove.png')
base_temp[offset_y:offset_y+foreground_temp.shape[0], offset_x:offset_x+foreground_temp.shape[1]] = foreground_temp
Попытка с PIL: (Результат буквально совпадает с версией OpenCV)
base_temp = cv2.convertScaleAbs(self.base) #Convert to uint8 for cvtColor
base_temp = cv2.cvtColor(base_temp, cv2.COLOR_BGR2RGB) #PIL uses RGB and OpenCV uses BGR
base_temp = Image.fromarray(base_temp) #Convert to PIL Image
foreground_temp = cv2.cvtColor(cv2.convertScaleAbs(self.last_img), cv2.COLOR_BGR2RGB)
foreground_temp = Image.fromarray(foreground_temp)
base_temp.paste(foreground_temp, offset)
Я использую python3.5 и и OpenCV3.4 в Windows 10, если это поможет.
Я бы хотел бы , чтобы избежать любых решений, которые требуют сохранения образов cv2 и последующей их загрузки в другой модуль для их преобразования, но если это неизбежно, это тоже хорошо.Любая помощь будет оценена!