Я пытаюсь наложить видео MP4 на карту folium, используя
folium.raster_layers.videooverlay (). Результатом является видео, которое я называю dyevideo.html. Однако изображение не отображается в рамке
на карте, Bounds = [[lat_min, lon_min], [lat_max, lon_max]] < /code>. Dyevideo.png, это скриншот видеофайла dyevideo.html. См. Https://casconorwich.org/pages/files2.html, чтобы увидеть скриншот для этого и других. Видео не заполняет всю красную рамку. Я постараюсь объяснить, как было создано это видео. На данный момент он содержит только 5 кадров PNG, но в конечном итоге будет содержать около 50. вставлен в океан в заливе Каско, штат Мэн со временем. Вывод помещается в массив [lat, lon, dyeconconcentration] , где LAT, LON определяется в каждой вершине треугольной сетки, которая имеет около 40 000 вершин. Для каждого из 5 раз я создаю файл PNG с помощью TripColor () :
tpp = ax1.tripcolor(lat,lon,triangles,dye1[t1+k,:],cmap='jet',shading= 'gouraud')
< /code>
Затем сохраните TPP в виде файла PNG: < /p>
img1=plt.savefig('tpp'+str(k+1)+str('.png'), format='png',dpi=400,bbox_inches='tight',pad_inches=0.0,transparent=True)
< /code>
Чтобы увидеть, как одно из этих 5 изображений PNG выглядит на карте Folium, я использую
folium.raster_layers.imageoverlay следующим образом: < /p>
array1 = asarray(img1)
folium.raster_layers.ImageOverlay(
image = array1, name='Dye overlay',
bounds=[[lat_min,lon_min],[lat_max,lon_max]],
opacity=0.6, origin='upper',
mercator_project=True, cross_origin=False,
zindex=1,overlay=True, control=True,
show=True,
).add_to(map)
< /code>
Один из 5 наложений на карту folium показан на скриншоте, dyeframe1.png на моем веб -сайте. Вы можете видеть, что это отдельное изображение PNG проецируется на карту folium точно так же, как и следовало, заполняя красный прямоугольник ограничивающей коробки. Следующим шагом является создание видео MP4 с 5 PNG -изображений, используя CV2 VideoWriter: < /p>
def images_to_video(image_folder, output_path, fps=0.6):
#Converts a folder of png images into a video.
images = [img for img in os.listdir(image_folder) if img.endswith("png")]
images.sort() # Ensure images are in order
frame = cv2.imread(os.path.join(image_folder, images[0]))
width,height = frame.shape[1],frame.shape[0] # here,1984,1348
video = cv2.VideoWriter(output_path, cv2.VideoWriter_fourcc(*'mp4v'),fps, (width,height))
for image in images:
img_path = os.path.join(image_folder, image)
frame = cv2.imread(img_path)
video.write(frame)
video.release()
print("Video Frames2png.mp4 created successfully at:", output_path)
if __name__ == "__main__":
output_path = '/Users/true/Python1/DyeFrames/Frames2/Frames2png.mp4'
images_to_video(image_folder, output_path)
map.save('DyeFrames2.html')
< /code>
Итак, результат, Frames2png.mp4, - это всего лишь видео с 5 кадрами файлов PNG, каждый из которых идеально подходит в красном рамке. < /p>
< P> Наконец, folium.raster_layers.videooverlay () используется для наложения видео кадров2png.mp4 на карту folium: < /p>
video = folium.raster_layers.VideoOverlay(
video_url= Frames2png.mp4,
bounds=[[lat_min,lon_min],[lat_max,lon_max]],
transparent=True,
keepAspectRatio=False,
mercator_project=True,
name="Dye Video",
opacity=0.6,
attr="Dye Overlay",
overlay= True,
autoplay=True,
control=True,
loop=True,
playsInline=True,
)
video.add_to(map)
map.save('DyeVideo.html')
< /code>
Результатом является dyevideo.html, который неправильно вписывается в красное ограничивающее окно. Все отлично работает, за исключением folium.raster_layers.videooverlay ()
.
Я использовал ffmpeg для удаления любых нежелательных границ с изображений PNG и Frames2png.mp4. Я также использовал FFMPEG для изменения размера Frames2png.mp4 многочисленными способами повышения высоты и т. Д., позволяя аспекту изменять при необходимости. В каждом случае ограничивающая коробка, по -видимому, не контролирует размер и положение видео на карте Folium. Когда я смотрю на файл folium.raster_layers.py, я не вижу там ничего, что не помогло бы. Мне интересно, имели ли другие подобную проблему или могут дать несколько советов. Я просто хочу наложить видео на карту.
Я пытаюсь наложить видео MP4 на карту folium, используя folium.raster_layers.videooverlay (). Результатом является видео, которое я называю dyevideo.html. Однако изображение не отображается в рамке на карте, Bounds = [[lat_min, lon_min], [lat_max, lon_max]] < /code>. Dyevideo.png, это скриншот видеофайла dyevideo.html. См. Https://casconorwich.org/pages/files2.html, чтобы увидеть скриншот для этого и других. Видео не заполняет всю красную рамку. Я постараюсь объяснить, как было создано это видео. На данный момент он содержит только 5 кадров PNG, но в конечном итоге будет содержать около 50. вставлен в океан в заливе Каско, штат Мэн со временем. Вывод помещается в массив [lat, lon, dyeconconcentration] , где LAT, LON определяется в каждой вершине треугольной сетки, которая имеет около 40 000 вершин. Для каждого из 5 раз я создаю файл PNG с помощью TripColor () : [code]tpp = ax1.tripcolor(lat,lon,triangles,dye1[t1+k,:],cmap='jet',shading= 'gouraud') < /code> Затем сохраните TPP в виде файла PNG: < /p> img1=plt.savefig('tpp'+str(k+1)+str('.png'), format='png',dpi=400,bbox_inches='tight',pad_inches=0.0,transparent=True) < /code> Чтобы увидеть, как одно из этих 5 изображений PNG выглядит на карте Folium, я использую folium.raster_layers.imageoverlay следующим образом: < /p> array1 = asarray(img1) folium.raster_layers.ImageOverlay( image = array1, name='Dye overlay', bounds=[[lat_min,lon_min],[lat_max,lon_max]], opacity=0.6, origin='upper', mercator_project=True, cross_origin=False, zindex=1,overlay=True, control=True, show=True, ).add_to(map) < /code> Один из 5 наложений на карту folium показан на скриншоте, dyeframe1.png на моем веб -сайте. Вы можете видеть, что это отдельное изображение PNG проецируется на карту folium точно так же, как и следовало, заполняя красный прямоугольник ограничивающей коробки. Следующим шагом является создание видео MP4 с 5 PNG -изображений, используя CV2 VideoWriter: < /p> def images_to_video(image_folder, output_path, fps=0.6): #Converts a folder of png images into a video. images = [img for img in os.listdir(image_folder) if img.endswith("png")] images.sort() # Ensure images are in order frame = cv2.imread(os.path.join(image_folder, images[0])) width,height = frame.shape[1],frame.shape[0] # here,1984,1348 video = cv2.VideoWriter(output_path, cv2.VideoWriter_fourcc(*'mp4v'),fps, (width,height))
for image in images: img_path = os.path.join(image_folder, image) frame = cv2.imread(img_path) video.write(frame)
video.release() print("Video Frames2png.mp4 created successfully at:", output_path) if __name__ == "__main__": output_path = '/Users/true/Python1/DyeFrames/Frames2/Frames2png.mp4' images_to_video(image_folder, output_path) map.save('DyeFrames2.html') < /code> Итак, результат, Frames2png.mp4, - это всего лишь видео с 5 кадрами файлов PNG, каждый из которых идеально подходит в красном рамке. < /p> < P> Наконец, folium.raster_layers.videooverlay () используется для наложения видео кадров2png.mp4 на карту folium: < /p> video = folium.raster_layers.VideoOverlay( video_url= Frames2png.mp4, bounds=[[lat_min,lon_min],[lat_max,lon_max]], transparent=True, keepAspectRatio=False, mercator_project=True, name="Dye Video", opacity=0.6, attr="Dye Overlay", overlay= True, autoplay=True, control=True, loop=True, playsInline=True, ) video.add_to(map) map.save('DyeVideo.html') < /code> Результатом является dyevideo.html, который неправильно вписывается в красное ограничивающее окно. Все отлично работает, за исключением folium.raster_layers.videooverlay () [/code]. Я использовал ffmpeg для удаления любых нежелательных границ с изображений PNG и Frames2png.mp4. Я также использовал FFMPEG для изменения размера Frames2png.mp4 многочисленными способами повышения высоты и т. Д., позволяя аспекту изменять при необходимости. В каждом случае ограничивающая коробка, по -видимому, не контролирует размер и положение видео на карте Folium. Когда я смотрю на файл folium.raster_layers.py, я не вижу там ничего, что не помогло бы. Мне интересно, имели ли другие подобную проблему или могут дать несколько советов. Я просто хочу наложить видео на карту.
Я пытаюсь наложить видео в формате mp4 на карту фолиума, используя
folium.raster_layers.VideoOverlay(). В результате получается видео, которое я называю DyeVideo.html. Однако изображение не отображается в
ограничивающей рамке на карте, borders=[ ,...
Я изо всех сил пытаюсь получить ограничивающую коробку для идентифицированной области на изображении. Следующий код приводит к этому изображению: Однако, как может быть очевидно из картинки, я бы хотел, чтобы ограничивая коробку, чтобы включить...
Я изо всех сил пытаюсь получить ограничивающую коробку для идентифицированной области на изображении. Следующий код приводит к этому изображению: Однако, как может быть очевидно из картинки, я бы хотел, чтобы ограничивая коробку, чтобы включить...
Я изо всех сил пытаюсь получить ограничивающую коробку для идентифицированной области на изображении. Следующий код приводит к этому изображению: Однако, как может быть очевидно из картинки, я бы хотел, чтобы ограничивая коробку, чтобы включить...
Мне нужно знать, как я могу использовать массив доверия (который по какой-то причине имеет отрицательные значения) и Brindingbox для создания сегментации маски/контура. Он выводит следующее:
classname
Доверие (уверенность в обнаружении объекта...