中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python項目中使用Opencv 實現一個將圖片轉換為視頻的功能

發布時間:2020-11-19 15:28:37 來源:億速云 閱讀:835 作者:Leah 欄目:開發技術

本篇文章為大家展示了python項目中使用Opencv 實現一個將圖片轉換為視頻的功能,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

生成視頻

import random as rd
import cv2 as cv
import numpy as np


# 保存視頻
class RecordMovie(object):

  def __init__(self, img_width, img_height):
    self.video_writer = None # 視頻對象
    self.is_end = False # 結束保存視頻
    self.img_width = img_width # 寬度
    self.img_height = img_height # 高度

  # 創建 視頻寫入對象
  def start(self, file_name, freq):
    # 創建視頻格式
    four_cc = cv.VideoWriter_fourcc(*'mp4v')
    img_size = (self.img_width, self.img_height) # 視頻尺寸

    # 創建視頻寫入對象
    self.video_writer = cv.VideoWriter()
    self.video_writer.open(file_name, four_cc, freq, img_size, True)

  # 寫入圖片幀
  def record(self, img):
    if self.is_end is False:
      self.video_writer.write(img)

  # 完成視頻 釋放資源
  def end(self):
    self.is_end = True
    self.video_writer.release()


def move_image(img_src):
  img_height, img_width = img_src.shape[:2]

  # 隨機 xy平移方向與大小設置
  x_size = rd.randint(-3, 3)
  y_size = rd.randint(-3, 3)

  # 自定義轉換矩陣
  transform_matrix = np.float32([[1, 0, x_size], [0, 1, y_size]])

  # 執行平移
  return cv.warpAffine(img_src, transform_matrix, (img_width, img_height))


def main():
  # 1.讀取圖片
  img_org = cv.imread("img.png", cv.IMREAD_GRAYSCALE)

  # 2.顯示圖片
  cv.imshow("org", img_org)
  cv.namedWindow("shift")

  # 3.視頻文件生成
  height, width = img_org.shape[:2]
  print(height, width)
  rm = RecordMovie(width, height)

  # 設置視頻文件名稱 頻率
  rm.start("test.mp4", 20)

  # 4.圖片寫入視頻
  for i in range(300):
    # 圖片微調調整
    img_move = move_image(img_org)
    img_move = cv.cvtColor(img_move, cv.COLOR_GRAY2RGB)

    rm.record(img_move)
    cv.imshow("shift", img_move)
    key = cv.waitKey(10)
    if key == 27: # esc 按鍵
      break

  # 5.關閉視頻文件
  rm.end()


if __name__ == '__main__':
  main()

上述內容就是python項目中使用Opencv 實現一個將圖片轉換為視頻的功能,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潜江市| 洪雅县| 明光市| 涟源市| 崇州市| 怀宁县| 崇礼县| 阿勒泰市| 康马县| 红原县| 丰顺县| 宁晋县| 黄平县| 白山市| 攀枝花市| 彰武县| 泊头市| 博兴县| 普兰县| 平湖市| 修武县| 儋州市| 正安县| 平远县| 剑河县| 梅州市| 荥经县| 沙洋县| 余干县| 阳高县| 三都| 县级市| 巴青县| 正阳县| 如皋市| 柯坪县| 平江县| 穆棱市| 普洱| 龙川县| 辽中县|