OpenCV 3

[Docker] ImportError: libGL.so.1: cannot open shared object file: No such file or directory

!apt-get update -y && apt-get install -y libgl1-mesa-glx && apt-get install -y libglib2.0-0 Docker 환경에서 OpenCV를 설치하는 과정에 발새하는 오류 유형 중 하나다. 이는, cv2에 해당하는 의존 패키지가 없을 때 발생하는 문제로, 아래 코드를 추가하면 쉽게 해결이 가능하다. RUN pip install opencv-python RUN apt-get update && apt-get install ffmpeg libsm6 libxext6 -y RUN apt-get update -y && apt-get install -y libgl1-mesa-glx Docker Image를 불러올 때부터 처리를 하고 싶으면 아래와 같이 작성할..

Docker 2023.11.21

[OpenCV] Image Cropping

데이터 증강(Data Augmentation)을 위해 이미지를 자를 수도 있고, 특정 영역에 대한 바운딩 박스(Bounding Box)를 가지고 오기 위해 이미지를 자를 수 있다. 이때 가장 간단한 방법은 Height과 Width를 지정해서 해당 범위에 대한 영역만 잘라오는 것이다. def cropping(img, x, y, h=16, w=16): H, W, C = img.shape w_start = np.min([x, 0]) w_end = np.min([x+w, W]) h_start = np.min([y, 0]) h_end = np.min([y+h, H]) cropped_img = img[h_start:h_end, w_start:w_end].copy() return cropped_img def load..

Python/OpenCV 2023.07.06

[OpenCV] Image Registration Processing

Image Registration은 동일한 장면의 서로 다른 이미지를 정렬하는데 사용하는 기술 중 하나이다. 고정된 이미지(Fixed Image)가 있고, 움직인 이미지가 있다면, 움직인 이미지를 고정된 위치로 옮기는 것을 말한다. 이미지가 회전되어 있거나, 일부 잘려있거나 할 때도 사용이 가능하다. Image Registration을 수행하기 위해 MVTec AD Dataset을 예시로 가지고 왔다. import os, sys, cv2, glob import matplotlib.pyplot as plt paths = glob.glob(os.path.join('dataset/hazelnut/train/good/*.png')) path = paths[0] imgs = cv2.imread(path) imgs..

Python/OpenCV 2023.07.05
반응형