Python
ubuntu 에서 opencv 로 h264 codec 비디오 파일 만들기
ubuntu 에서 opencv 로 h264 codec 비디오 파일 만들기
2021.09.01개발환경 -fast api -docker -python3.9 -postgres 를 사용하였습니다. 참고하시길 바랍니다. 이글을 쓰게된 이유는 python에서 openvcv 를 사용해 영상을 N x M 으로 자른뒤 각각의 html5 video 태그에 뿌려주는 걸 개발하다가 생긴 문제에 대해서 해결과정을 적으려고 합니다. html5 video 태그의 표준 코덱은 H 2 6 4 코덱입니다. cv2.VideoWriter_fourcc(*"H264") 하지만 docker build 이후 영상을 자르면 다음과 같은 에러를 내뱉으며 영상을 자를수 없다고 합니다. https://stackoverflow.com/questions/33134985/cv2-videowriter-will-not-write-file-using-f..
설문조사 앱 만들기2
설문조사 앱 만들기2
2020.12.05데이터 베이스 만들기 --> python manage.py migrate 보통은 데이터 베이스 관련 설정이 끝난 직후에 실행합니다. 데이터베이스를 만들었으니 앱에서 사용할 모델을 작성하겠습니다. 모델만들기 장고에서 모델은 데이터베이스의 구조도입니다. 데이터 베이스에 어떤 테이블을 만들고 어떤 컬럼을 갖게 할 것인지 결정합니다. 또 해당 컬럼의 제약 조건까지도 모델에서 결정합니다. 이 모델은 보통 modles.py 에 작성하고 클래스 형태입니다. 투표 앱을 위한 두 개의 모델을 만들어 보겠습니다. polls/models.py 파일에 코드를 작성합니다. from django.db import models class Question(models.Model): question_text = models.CharF..
django 시작하기
django 시작하기
2020.12.04필자 는 MAC을 사용하기 있기 때문에 MAC 을 기준으로 적어 나가겠습니다. 파이참 프로 버전 기준으로 venv 를 사용해 가상환경으로 dajngo 프로젝트를 생성했습니다. django가 설치가 안되신분들은 --> pip install django 를 하신뒤 프로젝트를 만드시면 됩니다. 프로젝트 만들기 --> django-admin startproject config . 위의 명령을 입력할 때 주의 할 점은 config 다음에 한칸을 띄우고 .(점)이 있다는 것입니다. 이 점은 현재 폴더에 파일을 만들겠다는 의미입니다. 장고 프로젝트를 만들면 config 폴더가 생기고 manage.py 라는 파일이 만들어 집니다. - 장고로 프로젝트를 생성했기 때문에 우리는 당장이라도 웹 사이트를 사용할 수 있는 상태..
벡터 클래스의 부활
벡터 클래스의 부활
2020.12.04from array import array import math class Vector2d: typecode = 'd' def __init__(self, x, y): self.x = float(x) self.y = float(y) def __iter__(self): return (i for i in (self.x, self.y)) def __repr__(self): class_name = type(self).__name__ return '{}({!r}, {!r})'.format(class_name, *self) def __str__(self): return str(tuple(self)) def __bytes__(self): return (bytes([ord(self.typecode)]) + bytes(a..
opencv 픽셀에 접근하기
opencv 픽셀에 접근하기
2020.11.10import cv2 as cv import os import numpy as np dt_path = os.path.join(os.path.expanduser('~'),'Desktop') os.chdir(dt_path) img_color = cv.imread("test.jpg", cv.IMREAD_COLOR) # 이미지의 높이와 너비를 가져옵니다. height, width = img_color.shape[:2] print(img_color.shape) # gray scale image 를 저장할 numpy array 를 생성합니다. img_gray = np.zeros((height, width), np.uint8) # for 문을 돌면서 (x, y)에 있는 픽셀을 하나씩 접근합니다. for y in ran..