Матричный светодиодный симулятор вида с высоты птичьего полетаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Матричный светодиодный симулятор вида с высоты птичьего полета

Сообщение Anonymous »

Я работаю над матричным светодиодным моделированием автомобиля, где хочу имитировать световой луч автомобиля на экране. Луч должен динамически меняться в зависимости от интенсивности света, обнаруженной камерой, на которую светит вспышка.
Вот проблема, с которой я столкнулся:
Я хочу, чтобы световой луч менял свою ширину и высоту в зависимости от интенсивности света, обнаруженного в кадре камеры.
Однако в настоящее время луч реагирует на фонарик так же, как он рисует луч автомобиля.
/>Интенсивность света рассчитывается по рамке в оттенках серого, но Я не знаю, как изменить луч так, чтобы он динамически становился ярче или темнее, когда источник света светит с разных сторон.
Чего я хочу? Мне нужен световой луч, который светит вверх и вверх. когда я использую фонарик на камере, луч света меняется
Изображение

Вот мой код:
def car_simulation(screen, gray_frame):
"""
Simulates a car's beam on the right half of the screen.
"""
# Clear the right half of the screen
screen.fill((0, 0, 0), (WINDOW_SIZE[0] // 2, 0, WINDOW_SIZE[0] // 2, WINDOW_SIZE[1]))
screen.blit(bg_dark_image, (WINDOW_SIZE[0] // 2, 0))

# Position of the car (fixed position)
car_x = WINDOW_SIZE[0] // 2 + WINDOW_SIZE[0] // 4 # Centered horizontally in the right half
car_y = WINDOW_SIZE[1] - 150 # Positioned near the bottom

# Beam parameters
beam_base_width = 300 # Width of the beam
beam_height = 400 # Length of the beam
beam_alpha = 100 # Transparency of the beam

# Create a mask for the light beam
light_beam_mask = pygame.Surface((WINDOW_SIZE[0] // 2, WINDOW_SIZE[1]), pygame.SRCALPHA)
light_beam_mask.fill((0, 0, 0, 0)) # Transparent background

# Analyze brightness of the frame
light_intensity_map = gray_frame > 200 # Threshold for detecting bright spots

# Calculate beam width based on detected light intensity
bright_pixels = np.argwhere(light_intensity_map)
if bright_pixels.size > 0:
avg_x, avg_y = np.mean(bright_pixels, axis=0)
avg_x = int(avg_x * (WINDOW_SIZE[0] // 2 // MATRIX_SIZE[1]))
avg_y = int(avg_y * (WINDOW_SIZE[1] // MATRIX_SIZE[0]))

beam_width = beam_base_width * (len(bright_pixels) / 500) # Wider beam if more bright pixels
beam_height = beam_base_width * (len(bright_pixels) / 500) # Higher beam if more bright pixels

# Draw the light beam shape
pygame.draw.polygon(light_beam_mask, (255, 255, 255, beam_alpha), [
(car_x - WINDOW_SIZE[0] // 2, car_y), # Start position of the car
(avg_x - beam_width // 2, avg_y - beam_height), # Top left of the beam
(avg_x + beam_width // 2, avg_y - beam_height), # Top right of the beam
])

# Blit the light beam mask onto the screen
screen.blit(light_beam_mask, (WINDOW_SIZE[0] // 2, 0))


Подробнее здесь: https://stackoverflow.com/questions/793 ... simulation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Преобразование перспективы с высоты птичьего полета из калибровки камеры opencv python
    Гость » » в форуме Python
    0 Ответы
    54 Просмотры
    Последнее сообщение Гость
  • Как получить вид с высоты птичьего полета от KITTI с помощью Projection Matrix?
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как хороший светодиодный сенсорный лампа Mini Multifunction Smart Portable Bluetooth -динамик бас звук
    Anonymous » » в форуме Javascript
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Реагируйте родную высоту вида и высоту DIV внутри веб -вида
    Anonymous » » в форуме Android
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Реагируйте родную высоту вида и высоту DIV внутри веб -вида
    Anonymous » » в форуме IOS
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

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