목록opencv (3)
WinGyu_coder
개요 : 인공지능 딥러닝 모델을 사용 중 ROI로 필요한 부분만 분석할려고 하는데 분석 부분이 여러개일시 실시간 이미지 처리가 되질 않는 현상이 있었다. 필요한 부분만 잘라서 배치로 붙이고 활용할려고 한다. 이미지들을 잘라내고 이어붙여 배치로 처리하는 과정을 구현하기 위한 간단한 코드 예시를 드리겠습니다. 여기서는 Python과 OpenCV 라이브러리를 사용합니다. 이 예시는 사람의 바운딩 박스 목록(`bboxList`)을 기반으로 각각의 바운딩 박스에서 이미지를 잘라내고, 모두 같은 크기로 조정한 후, 이를 하나의 큰 이미지로 이어붙이는 과정을 보여줍니다. 예시 코드: import cv2 import numpy as np def crop_and_resize(image, bbox, size=(224, 2..
회사에서 영상을 프레임 단위로 받아 딥러닝으로 만든 모델로 보내는 작업을 하였다. 이 부분은 정리하면 좋을거 같아서 정리를 해둔다 . 우선 이미지를 받을 서버는 Django REST Framework로 구현하였다. Django API 서버쪽에 받는 코드는 이렇게 된다. 우선 DRF에 APIView를 가져오고 POST를 구현한다. # 서버 코드 from rest_framework.views import APIView from rest_framework.response import Response import requests import numpy as np import cv2 import base64 class DeeplearningModelAPI(APIView): def post(self, request..
OpenCV의 GPU 모듈은 이미지 처리 작업을 빠르게 수행하기 위해 사용됩니다. 특히, 다음과 같은 상황에서 유용합니다: 대량의 이미지 처리: 많은 양의 이미지나 영상 데이터를 빠르게 처리해야 하는 경우 GPU의 병렬 처리 능력을 활용해 시간을 절약할 수 있습니다. 실시간 처리 요구: 실시간 영상 처리나 컴퓨터 비전 기반의 인터랙티브 시스템에서는 빠른 응답 시간이 필요합니다. GPU를 사용하면 프레임당 처리 시간을 줄일 수 있습니다. 계산 집약적 작업: 복잡하고 계산 집약적인 이미지 처리 알고리즘을 사용하는 경우, CPU만을 사용하는 것보다 GPU를 활용하면 더 높은 성능을 얻을 수 있습니다. 예를 들어, OpenCV의 GPU 모듈을 사용하여 이미지의 색공간을 변환하거나, 가우시안 블러를 적용하는 등의..