HALU-HAL's picture
update readme
5924fc9
|
raw
history blame
4.86 kB
---
title: Image to Video Processing Pipelin
emoji: ๐ŸŽฅ
colorFrom: green
colorTo: red
sdk: gradio
sdk_version: 3.41.2
app_file: app.py
pinned: false
license: apache-2.0
---
# VideoProcessingPipeline(SNSๆŠ•็จฟๅ‹•็”ป็”Ÿๆˆใƒ„ใƒผใƒซ)
SNSใฎๆŠ•็จฟใฏใ€็”ปๅƒใ‚ˆใ‚Šใ‚‚ๅ‹•็”ปใฎๆ–นใŒๆณจ็›ฎใ‚’้›†ใ‚ใ‚„ใ™ใ„ใ“ใจใŒๅคšใ„ใงใ™ใ€‚ใ—ใ‹ใ—ใ€ๅ‹•็”ปใ‚’ไฝœๆˆใ™ใ‚‹ใฎใฏๆ‰‹้–“ใŒใ‹ใ‹ใ‚‹ใ‚‚ใฎใ€‚ใใ“ใงใ€ๆ‰‹ๆŒใกใฎ็”ปๅƒใ‹ใ‚‰่‡ชๅ‹•ใง้ญ…ๅŠ›็š„ใชๅ‹•็”ปใ‚’็”Ÿๆˆใ™ใ‚‹ๆ–นๆณ•ใ‚’ใ”็ดนไป‹ใ—ใพใ™ใ€‚
![](https://hamaruki.com/wp-content/uploads/2023/09/00028-1365031933-1-576x1024.png)
## ๆฆ‚่ฆ
### ใ‚นใƒ†ใƒƒใƒ—1: ๅฟ…่ฆใชใƒ„ใƒผใƒซใฎๆบ–ๅ‚™
- Python็’ฐๅขƒ
- OpenCV
- PIL (Pillow)
ใ“ใ‚Œใ‚‰ใฏpipใ‚’ไฝฟใฃใฆ็ฐกๅ˜ใซใ‚คใƒณใ‚นใƒˆใƒผใƒซใงใใพใ™ใ€‚
```bash
pip install opencv-python pillow
```
### ใ‚นใƒ†ใƒƒใƒ—2: ็”ปๅƒใฎๆบ–ๅ‚™
ใพใšใ€ๅ‹•็”ปใซๅค‰ๆ›ใ—ใŸใ„็”ปๅƒใ‚’ไธ€ใคใฎใƒ•ใ‚ฉใƒซใƒ€ใซใพใจใ‚ใพใ™ใ€‚ใ“ใฎใƒ•ใ‚ฉใƒซใƒ€ใฎใƒ‘ใ‚นใ‚’ๅพŒใงไฝฟ็”จใ—ใพใ™ใ€‚
### ใ‚นใƒ†ใƒƒใƒ—3: ็”ปๅƒใฎใƒ–ใƒฉใƒผๅ‡ฆ็†
ๅ‹•็”ปใ‚’ไฝœๆˆใ™ใ‚‹ๅ‰ใซใ€็”ปๅƒใซใƒ–ใƒฉใƒผๅŠนๆžœใ‚’้ฉ็”จใ—ใพใ™ใ€‚ใ“ใ‚Œใซใ‚ˆใ‚Šใ€ๅ‹•็”ปใŒๆด—็ทดใ•ใ‚ŒใŸ้›ฐๅ›ฒๆฐ—ใ‚’ๆŒใคใ‚ˆใ†ใซใชใ‚Šใพใ™ใ€‚
ไปฅไธ‹ใฎใ‚ฏใƒฉใ‚นใ€`BlurredBackgroundEmbedder`ใ‚’ไฝฟ็”จใ—ใฆใ€็”ปๅƒใซใƒ–ใƒฉใƒผๅŠนๆžœใ‚’้ฉ็”จใ—ใพใ™ใ€‚
```python
processor = BlurredBackgroundEmbedder(r"path/to/your/image_folder")
processor.process_all_images()
```
### ใ‚นใƒ†ใƒƒใƒ—4: ๅ‹•็”ปใฎไฝœๆˆ
ใƒ–ใƒฉใƒผๅ‡ฆ็†ใ•ใ‚ŒใŸ็”ปๅƒใ‚’ไฝฟ็”จใ—ใฆใ€ๅ‹•็”ปใ‚’ไฝœๆˆใ—ใพใ™ใ€‚ใ“ใฎๅ‹•็”ปใฏใ€็”ปๅƒใŒไธŠใ‹ใ‚‰ไธ‹ใซใ‚นใ‚ฏใƒญใƒผใƒซใ™ใ‚‹ใ‚ขใƒ‹ใƒกใƒผใ‚ทใƒงใƒณใ‚’ๆŒใฃใฆใ„ใพใ™ใ€‚
ไปฅไธ‹ใฎใ‚ฏใƒฉใ‚นใ€`FrameVideoCreator`ใ‚’ไฝฟ็”จใ—ใฆๅ‹•็”ปใ‚’ไฝœๆˆใ—ใพใ™ใ€‚
```python
video_creator = FrameVideoCreator()
video_creator.process_folder(r"path/to/your/image_folder_Blurred")
```
### ใ‚นใƒ†ใƒƒใƒ—5: ๅ‹•็”ปใฎ้€ฃ็ต
่ค‡ๆ•ฐใฎๅ‹•็”ปใ‚’ไธ€ใคใซ้€ฃ็ตใ—ใพใ™ใ€‚ใพใŸใ€ๅ‹•็”ป้–“ใฎ้ท็งปใฏใ‚นใƒ ใƒผใ‚บใชใ‚ขใƒซใƒ•ใ‚กใƒ–ใƒฌใƒณใƒ‰ใŒ้ฉ็”จใ•ใ‚Œใพใ™ใ€‚
```python
merger = VideoMergerWithSmoothTransition()
input_folder_path = r"path/to/your/image_folder_Blurred_mov"
output_folder_path = f"{input_folder_path}_Final"
os.makedirs(output_folder_path, exist_ok=True)
output_video_path = os.path.join(output_folder_path, "concatenated_video.mp4")
merger.merge_videos(input_folder_path, output_video_path)
```
### ใ‚นใƒ†ใƒƒใƒ—6: ๅ‹•็”ปใฎ็ขบ่ช
ๅ‡บๅŠ›ใƒ•ใ‚ฉใƒซใƒ€ใซไฟๅญ˜ใ•ใ‚ŒใŸๅ‹•็”ปใ‚’็ขบ่ชใ—ใพใ™ใ€‚ใ“ใฎๅ‹•็”ปใ‚’SNSใซใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใ™ใ‚‹ใ“ใจใงใ€้ญ…ๅŠ›็š„ใชๆŠ•็จฟใ‚’็ฐกๅ˜ใซไฝœๆˆใงใใพใ™ใ€‚
## ไฝฟ็”จๆ–นๆณ•
`VideoProcessingPipeline`ใฏใ€ๆŒ‡ๅฎšใ•ใ‚ŒใŸ็”ปๅƒใƒ•ใ‚ฉใƒซใƒ€ๅ†…ใฎ็”ปๅƒใ‚’ๅ‡ฆ็†ใ—ใ€ๅ‹•็”ปใ‚’ไฝœๆˆใ—ใ€ๅ‹•็”ปใ‚’้€ฃ็ตใ™ใ‚‹ไธ€้€ฃใฎใ‚ฟใ‚นใ‚ฏใ‚’ๅฎŸ่กŒใ™ใ‚‹Pythonใ‚ฏใƒฉใ‚นใงใ™ใ€‚
### ใ‚ฏใ‚คใƒƒใ‚ฏใ‚นใ‚ฟใƒผใƒˆ
1. ใพใšใ€ๅฟ…่ฆใชใƒขใ‚ธใƒฅใƒผใƒซใ‚’ใ‚คใƒณใƒใƒผใƒˆใ—ใพใ™ใ€‚
```python
from modules.utils import v_image_blurred_utils
from modules.BlurredBackgroundEmbedder import BlurredBackgroundEmbedder
from modules.FrameVideoCreator import FrameVideoCreator
from modules.Transition.VideoMergerWithSmoothTransition import VideoMergerWithSmoothTransition
```
1. `VideoProcessingPipeline`ใ‚ฏใƒฉใ‚นใ‚’ๅˆๆœŸๅŒ–ใ—ใพใ™ใ€‚ใ“ใฎใจใใ€็”ปๅƒใŒๆ ผ็ดใ•ใ‚Œใฆใ„ใ‚‹ใƒ•ใ‚ฉใƒซใƒ€ใฎใƒ‘ใ‚นใ‚’ๅผ•ๆ•ฐใจใ—ใฆๆธกใ—ใพใ™ใ€‚
```python
pipeline = VideoProcessingPipeline(r"path/to/your/image_folder")
```
1. `execute_pipeline`ใƒกใ‚ฝใƒƒใƒ‰ใ‚’ๅ‘ผใณๅ‡บใ—ใฆใ€็”ปๅƒใฎๅ‡ฆ็†ใ€ๅ‹•็”ปใฎไฝœๆˆใ€ๅ‹•็”ปใฎ้€ฃ็ตใ‚’้ †็•ชใซๅฎŸ่กŒใ—ใพใ™ใ€‚
```python
pipeline.execute_pipeline()
```
### ๅ†…้ƒจใฎๅ‹•ไฝœ
- **็”ปๅƒใฎใƒ–ใƒฉใƒผๅ‡ฆ็†** : ็”ปๅƒใซใƒ–ใƒฉใƒผๅŠนๆžœใ‚’้ฉ็”จใ—ใ€ๆ–ฐใ—ใ„ใƒ•ใ‚ฉใƒซใƒ€ใซไฟๅญ˜ใ—ใพใ™ใ€‚
- **ๅ‹•็”ปใฎไฝœๆˆ** : ใƒ–ใƒฉใƒผๅ‡ฆ็†ใ•ใ‚ŒใŸ็”ปๅƒใ‹ใ‚‰ใ€ไธŠใ‹ใ‚‰ไธ‹ใซ็งปๅ‹•ใ™ใ‚‹ใ‚ขใƒ‹ใƒกใƒผใ‚ทใƒงใƒณๅŠนๆžœใ‚’ๆŒใคๅ‹•็”ปใ‚’ไฝœๆˆใ—ใพใ™ใ€‚
- **ๅ‹•็”ปใฎ้€ฃ็ต** : ใ™ในใฆใฎๅ‹•็”ปใ‚’ไธ€ใคใฎๅ‹•็”ปใซ้€ฃ็ตใ—ใพใ™ใ€‚ๅ‹•็”ป้–“ใฎ้ท็งปใฏใ‚นใƒ ใƒผใ‚บใชใ‚ขใƒซใƒ•ใ‚กใƒ–ใƒฌใƒณใƒ‰ใŒ้ฉ็”จใ•ใ‚Œใพใ™ใ€‚
### ๆณจๆ„็‚น
- ๅ…ฅๅŠ›ใจใ—ใฆๆธกใ•ใ‚Œใ‚‹็”ปๅƒใƒ•ใ‚ฉใƒซใƒ€ใซใฏใ€้€ฃ็ตใ—ใŸใ„็”ปๅƒใฎใฟใŒๅซใพใ‚Œใฆใ„ใ‚‹ใ“ใจใ‚’็ขบ่ชใ—ใฆใใ ใ•ใ„ใ€‚
- ็”Ÿๆˆใ•ใ‚Œใ‚‹ๅ‹•็”ปใฏใ€`image_folder_Blurred_mov_Final`ใจใ„ใ†ๅๅ‰ใฎใƒ•ใ‚ฉใƒซใƒ€ใซไฟๅญ˜ใ•ใ‚Œใพใ™ใ€‚
## ่งฃ่ชฌใ‚ตใ‚คใƒˆ
่ฉณ็ดฐใช่งฃ่ชฌใฏใ“ใกใ‚‰
https://hamaruki.com/automatically-generate-posted-videos-from-images/
## ใพใจใ‚
Pythonใ‚’ไฝฟ็”จใ—ใฆใ€ๆ‰‹ๆŒใกใฎ็”ปๅƒใ‹ใ‚‰SNSใซๆŠ•็จฟใ™ใ‚‹ใŸใ‚ใฎๅ‹•็”ปใ‚’็ฐกๅ˜ใซ่‡ชๅ‹•็”Ÿๆˆใ™ใ‚‹ๆ–นๆณ•ใ‚’ๅญฆใณใพใ—ใŸใ€‚ใ“ใฎๆ–นๆณ•ใ‚’ๆดป็”จใ™ใ‚Œใฐใ€่ฆ–่ฆš็š„ใซ้ญ…ๅŠ›็š„ใชSNSใฎๆŠ•็จฟใ‚’็ฐกๅ˜ใซไฝœๆˆใงใใพใ™ใ€‚ๅˆๅฟƒ่€…ใฎๆ–นใงใ‚‚ใ€ใ‚นใƒ†ใƒƒใƒ—ใ‚’่ฟฝใฃใฆๅฎŸ่กŒใ™ใ‚Œใฐใ€ๆ‰‹่ปฝใซๅ‹•็”ปใ‚’็”Ÿๆˆใงใใ‚‹ใฎใงใ€ใœใฒ่ฉฆใ—ใฆใฟใฆใใ ใ•ใ„ใ€‚