Opencv 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()

在这里插入图片描述
在这里插入图片描述
이 Opencv python 이미지 생 성 방법 에 대한 예시 적 인 글 은 여기까지 입 니 다.더 많은 Opencv 이미지 생 성 영상 콘 텐 츠 는 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기