Я не могу добавить массивы изображений в openCVPython

Программы на Python
Anonymous
Я не могу добавить массивы изображений в openCV

Сообщение Anonymous »

Я не могу сложить два массива изображений.
Строка 136:

Код: Выделить всё

MagicFrame = TheBackground + RestOfTheFrame.
Все остальное работает, проверил размеры, типы данных и попробовал все остальные типы, чтобы добавить изображения.
Я строю плащ-невидимку как проект, это последние строки код, который должен заменять пиксели определенным цветом (плащом) с изначально захваченным фоном.

Код: Выделить всё

def disappear(capture):
global cloak, background
ret, frame = capture.read()
if ret:
if cloak is None or background is None:
print("Cloak or background has not been authenticated or is None!")
return
else:
# Convert frame to HSV
hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)

# Define cloak color range with a wider tolerance
lower_bound = np.array([cloak[0] - 20, 100, 100])  # Adjust as necessary
upper_bound = np.array([cloak[0] + 20, 255, 255])

# Print the bounds for debugging
print(f"Lower Bound: {lower_bound}, Upper Bound: {upper_bound}")

# Mask of cloak (detecting the cloak region based on color)
mask = cv.inRange(hsv, lower_bound, upper_bound)

# Mask of everything apart from Cloak (inverse mask)
inverse_mask = cv.bitwise_not(mask)

# Extract the cloak region from the current frame
TheCloak = cv.bitwise_and(frame, frame, mask=mask)

# Extract the background region where the cloak is present
TheBackground = cv.bitwise_and(background, background, mask=mask)
cv.imshow("TheBackround", TheBackground)

# Extract everything apart from the cloak from the current frame
RestOfTheFrame = cv.bitwise_and(frame, frame, mask=inverse_mask)
cv.imshow("RestOfTheFrame", RestOfTheFrame)

# Combine the RestOfTheFrame with the cloak-replaced background
MagicFrame = cv.add(RestOfTheFrame, TheBackground)

# Optional: Blur the edges for a smoother transition
MagicFrame = cv.GaussianBlur(MagicFrame, (15, 15), 0)

# Display the resulting frame
cv.putText(MagicFrame, "Press Esc to exit", (10, frame.shape[0] - 10),
cv.FONT_HERSHEY_PLAIN, 1.0, (0, 255, 0), thickness=1)

cv.imshow("Invisibility Cloak - Get ready to disappear!", MagicFrame)
Проблема становится очевидной только тогда, когда вы пробуете код. MagicFrame не работает должным образом. Это должен быть результат объединения TheBackground и RestOfTheFrame, эффективно создающего эффект невидимости. Однако вместо демонстрации магии невидимости MagicFrame в настоящее время отображает неизмененную прямую трансляцию с веб-камеры.
Полный код и инструкции по запуску программы
https://github. com/UmarYaksambi/The_Invisible_Cloak.git
Я проверил размеры, их типы данных, несколько других методов, чтобы добавить два изображения. Но ни один из них не работает.
Последний кадр, то есть MagicFrame, будет имитировать невидимость, комбинируя TheBackground Frame и RestOfTheFrame

Подробнее здесь: https://stackoverflow.com/questions/790 ... -on-opencv

Вернуться в «Python»