본문 바로가기

개발 관련 지식28

[AWS] 하위 리전(Local Zone) 인스턴스 생성 이전에 AWS EC2에서 어떻게 GPU Instance를 사용하는지에 대해 알아보았다. 이번에는 해외 프로젝트를 진행하며 알게된 AWS의 Local Zone Instance 생성 방법에 대해 정리해보도록 하겠다. AWS의 Local Zone이란 AWS 인프라를 최종 사용자에게 더 가까이 위치시키기 위해 서버를 확장한 것을 의미한다. 일반적으로 큰 도시들에 대해서는 AWS가 Instance 생성을 해당 지역에서 할 수 있게 만들어 두었지만, 상대적으로 작은 도시들에서 자체 서버를 운용하는 것은 비효율 적이기에 이러한 방법을 사용하는 것 같다. 사용할 수 있는 Local Zone 지역은 다음에서 확인할 수 있다.https://aws.amazon.com/ko/about-aws/global-infrastruct.. 2024. 7. 29.
[VSCode] VSCode에서 ipynb 파일을 HTML(PDF 등..)로 Jupyter Notebook으로 Python 작업을 진행하다보면 만들어진 ipynb를 html로 만드는 기능이 노트북 안에 있어 UI 상으로 작성한 ipynb 파일을 html 파일로 쉽게 변환할 수 있었다. 하지만, VSCode에 ipykernel을 설치하여 ipynb 파일을 작성할 때 UI 상으로는 ipynb를 HTML로 변환하는 버튼을 찾을 수 없었다. 따라서 이번에는 VSCode에서 작성한 ipynb 파일을 HTML, PDF 등 jupyter notebook에서 처럼 원하는 파일 형태로 export 할 수 있는 방법에 대해 기록하고자 한다.방법VSCode 상에 UI가 보이지 않을 뿐이지 사실 Terminal상으로는 간단히 변환할 수 있다.jupyter nbconvert --to html {파일 경.. 2024. 7. 22.
[OpenCV] VideoCapture 객체 Codec 변경 Python에서 OpenCV 패키지를 활용하여 VideoCapture 객체 Codec을 변경하려 하였으나 잘 바뀌지 않는 문제가 발생하였다. 코드상으로 문제가 없어 왜 발생하는 오류인지 고민하다 알게된 해결책을 기록하려 한다.문제 상황VideoCapture 객체에서 사용할 수 있는 set 메소드를 활용하여 fourcc를 MJPG로 바꾸려 하였으나 정상적으로 fourcc가 바뀌지 않음   해결방안VideoCapture 객체에 대해 set을 해줄 때의 순서 문제였다.  내가 실행했던 코드를 예시로 들면import cv2camera = cv2.VideoCapture(0)camera.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter.fourcc('M','J','P','G'))camera... 2024. 7. 22.
[Ubuntu] 컴퓨터에 연결된 카메라 정보 확인 Python으로 OpenCV를 사용하다보면 내 컴퓨터에 연결된 카메라의 정보를 확인해야 하는 경우가 생긴다. OpenCV를 사용할 때 연결된 카메라의 포맷과 코드 상의 포맷이 동일하지 않으면 IO가 많이 느려지는 것이 그 이유인데, 그럴 때마다 보통 우리는 cv2.VideoWriter_fourcc 명령어를 사용해 포맷을 맞춰 주곤 한다. 그래서 이번에는 어떤 포맷으로 맞춰주어야 내가 사용하는 카메라를 잘 사용할 수 있는지, 그 포맷을 확인하는 방법을 기록하려 한다.핵심 코드만 빠르게 작성하면 다음과 같다.v4l2-ctl --list-formats-ext -d 0v4l2-ctl : video for linux(카메라의 설정 및 제어를 도와주는 프로그램)를 사용하는 명령어--list-formats-ext :.. 2024. 7. 17.
[Git] 내가 작업하지 않은 Github 원격 Branch를 로컬로 가져와보자 프로젝트를 진행하던 도중 기존 코드를 전부 legacy로 빼고 특정 알고리즘을 아예 새롭게 업데이트할 필요가 있었다.  내 컴퓨터에서 작업한 내용이 아니다보니 기존 로컬에 구축되어 있는 Branch와 Github 원격에 수정된 Branch의 내용이 달랐는데, 이럴 때 원격 Repository 속 모든 Branch의 내용을 내 로컬에 업데이트 하는 방법을 정리해보고자 한다.1. 원격 Repository Update우선 업데이트 된 원격 Repository의 Branch 정보를 업데이트 해준다.git remote update 2. 로컬 Repository Update다음은 checkout 명령어를 이용해 원격 Repository에서 원하는 Branch를 로컬로 받아준다.git checkout -b 은 기존.. 2024. 7. 2.
[Pillow] 영상에 한자 텍스트 입력하기 일본 박람회를 준비하던 중 박람회에서 발표하는 영상이 일본어로 이루어져 있다면 지나다니는 행인들의 관심을 쉽게 끌고 좋은 이미지로 어필할 수 있을 것이라 생각했다. 그러기 위해 기존에 제작해둔 샘플 영상 속 영어를 일본어로 만들 필요가 있었고, 이러한 문제를 잘 해결하기 위해 내가 직접 진행한 방법을 정리해 보려 한다. 활용 OS : Ubuntu 22.04기존 Visualize 코드의 문제점은 OpenCV를 활용하면 일본어 폰트를 영상속에 합성할 수 없다는 것이었다. 따라서 이 문제를 해결하기 위해 내가 진행한 전체적인 방법을 정리해보면 아래와 같다.1. Ubuntu에 일본어 폰트를 설치2. Opencv로 PutText를 진행해주었던 것 → Pillow 패키지를 이용하여 draw3. Opencv로 텍스트.. 2024. 6. 28.