日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

使用OpenCV和Imutils构建图像的蒙太奇效果

發(fā)布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用OpenCV和Imutils构建图像的蒙太奇效果 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

使用OpenCV和Imutils包構(gòu)建圖像的蒙太奇效果

    • 1. 效果圖
    • 2. 原理
    • 3. 源代碼
    • 參考

這篇博客將演示如何使用OpenCV和Python構(gòu)建蒙太奇,以可視化一系列圖像。

1. 效果圖

montages = build_montages(images, (110, 140), (5, 3))

如下圖設置蒙太奇圖像 5行3列,每張小圖寬度110像素,高度140像素;總共35張圖,故生成3個蒙版圖,第3張圖像只有5張圖像.

2. 原理

構(gòu)建蒙太奇的方法:

montages = build_montages(images, (110, 140), (5, 3))

表示,構(gòu)建每張圖片110*140像素,5行3列的蒙太奇圖像組

1)入?yún)?/p>

  • images:圖像列表;
  • 元組1:圖像大小;
  • 元組2:蒙太奇shape

2)返回值

  • 以Numpy數(shù)組格式返回蒙太奇圖像列表;如果圖像中有更多圖像,則額外圖像創(chuàng)建新的蒙太奇。重復此過程,直到所有圖像已被添加到蒙太奇,缺失的填充黑色像素;

當樣本圖像數(shù)據(jù)量多于蒙太奇每張圖像需要的個數(shù)時,會迭代生成多個蒙太奇圖像,最后一張蒙太奇圖像不足的圖用黑色像素填充;

3. 源代碼

# 構(gòu)建蒙太奇效果
# USAGE
# python montage_example.py --images E:\personal\images --sample 35# 導入必要的包
from imutils import build_montages
from imutils import paths
import argparse
import random
import cv2# 構(gòu)建命令行參數(shù)及解析
# --images 必須,構(gòu)建蒙太奇的原始圖像路徑
# --sample 可選,指定要示例的樣本圖像個數(shù),默認21
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--images", required=True,help="path to input directory of images")
ap.add_argument("-s", "--sample", type=int, default=21,help="# of images to sample")
args = vars(ap.parse_args())# 獲取圖像路徑,然后隨機獲取一組示例
imagePaths = list(paths.list_images(args["images"]))
# 隨機洗牌
random.shuffle(imagePaths)
imagePaths = imagePaths[:args["sample"]]# 初始化圖像列表
images = []
# 遍歷圖像路徑
for imagePath in imagePaths:# 加載圖像,更新圖像列表image = cv2.imread(imagePath)images.append(image)
# 構(gòu)建蒙太奇效果,每張圖片110*140像素,5行3列
# 入?yún)mages:圖像列表; 元組1:圖像大小; 元組2:蒙太奇shape
# 返回值:以Numpy數(shù)組格式返回蒙太奇圖像列表;如果圖像中有更多圖像,則額外圖像創(chuàng)建新的蒙太奇。重復此過程,直到所有圖像已被添加到蒙太奇,缺失的填充黑色像素;
montages = build_montages(images, (110, 140), (5, 3))# 遍歷蒙太奇組圖像,并展示
for i, montage in enumerate(montages):cv2.imshow("Montage" + str(i), montage)cv2.waitKey(0)

參考

  • https://www.pyimagesearch.com/2017/05/29/montages-with-opencv/

總結(jié)

以上是生活随笔為你收集整理的使用OpenCV和Imutils构建图像的蒙太奇效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。