728x90 반응형 OpenCV11 [OpenCV + GCP] ImportError: libGL.so.1: cannot open shared object file: No such file or directory 안녕하세요. 코딩산책입니다. GCP에서 Inference가 가능한 API서버를 만들던 도중 나타난 오류를 기억하기 위해 작성해 둔다.에러메시지ImportError: libGL.so.1: cannot open shared object file: No such file or directory개발환경클라우드 플랫폼 : Google Cloud Egine - VM Instance머신유형 : e2-smallCPU 플랫폼 : Intel Broadwell운영체제 : Ubuntu 22.04아키텍처 : x86/64메모리 : 1GB디스크 용량 : 20GB최초 디스크의 용량을 10GB로 하여 생성하였으나 pytorch, openvino 등등 여러 패키지가 설치되며 캐시의 부족과 용량의 부족으로 인해 디스크의 용량을 20GB.. 2024. 11. 14. OpenCV + Python 모폴로지 (Morphology) 안녕하세요. 코딩산책입니다.이미지 처리는 다양한 분야에서 중요한 역할을 하고 있으며, 그중에서도 모폴로지 연산과 워터쉐드 알고리즘은 이미지의 구조적 특성을 분석하고 객체를 분리하는 데 매우 유용한 기법입니다. 모폴로지 연산은 객체의 형상을 조정하고, 객체 간 경계를 구분하며, 이미지 노이즈를 제거하는 데 사용됩니다. 이 글에서는 침식(Erosion), 팽창(Dilation), 열기(Opening), 닫기(Closing), 그레이디언트(Gradient)와 같은 모폴로지 연산과 워터쉐드 알고리즘의 이론적 배경과 함께 Python과 OpenCV를 이용한 실제 코드 예제를 다룹니다. 이 연산들은 특히 동전 분류나 지문 융선 검출과 같은 응용 사례에서 큰 효과를 발휘합니다. 1. 모폴로지(Morphology) 란.. 2024. 10. 25. OpenCV + Python 이진화 (임계처리) 안녕하세요. 코딩산책입니다.이미지 이진화(Thresholding)는 이미지 처리에서 중요한 기술 중 하나로, 픽셀 값을 흑백 두 가지 값으로 변환하여 불필요한 정보를 제거하고 핵심 부분만 추출하는 데 사용됩니다. 이진화는 노이즈 제거, 객체 검출, 경계 추출 등 다양한 문제 해결에 유용합니다. 이번 글에서는 OpenCV를 활용해 Python에서 다양한 이진화 기법을 사용하는 방법을 살펴보겠습니다. 기본적인 cv2.threshold 함수부터 Otsu 이진화, 적응형 이진화 기법까지, 실제 예제를 통해 알아보겠습니다. 1. 기본 이진화 (cv2.threshold)cv2.threshold는 이미지 이진화의 기본 함수로, 고정된 임계값을 사용해 픽셀 값을 흑백으로 변환합니다. 이 함수는 다양한 파라미터와 이진화.. 2024. 10. 22. OpenCV + Python 필터와 컨볼루션 안녕하세요. 코딩산책입니다.이번 글에서는 OpenCV와 Python을 사용하여 다양한 이미지 필터링 기법에 대해 알아보겠습니다. 필터링의 기본적인 이론, 수학적 표현, 그리고 실제 코드를 통해 필터링 기법을 이해하고 구현해 보겠습니다. 특히 샤프닝과 언샤프 마스킹에 대해서도 다룰 예정입니다. 1. 이미지 필터링이미지 필터링은 이미지의 픽셀 값을 조작하여 특징을 강조하거나 노이즈를 줄이는 작업입니다. 필터는 이미지를 부드럽게 하거나, 더 선명하게 만들거나, 특정 특징을 추출하는 데 사용됩니다. 아래는 필터링 연산에서 중요한 컨볼루션의 원리를 설명합니다. 컨볼루션은 작은 필터(커널)를 사용하여 이미지의 각 픽셀을 변환하는 연산입니다.이미지 필터링은 이미지를 수정하거나 향상시키는 이미지 처리의 기본 연산입니다.. 2024. 10. 14. OpenCV + Python 웹캠을 활용한 색상 인식 및 그리기 (실습) 안녕하세요. 코딩산책입니다.다음은 웹캠을 활용한 색상 인식 및 그리기 실습입니다. 해당 미니프로젝트는 OpenCV와 Python을 사용하여 색상을 감지하고, 해당 색상이 감지된 위치에 포인트를 그려 그림을 생성하는 간단한 프로그램을 만드는 과정입니다. 이론적인 설명과 Python 코드를 통해 단계별로 프로젝트를 진행해 보겠습니다. 1. 프로젝트 개요우리가 만들 프로젝트는 웹캠을 통해 특정 색상을 감지하고, 해당 색상의 위치에 점을 찍어 그림을 그리는 프로그램입니다. 이를 위해 다음과 같은 작업이 필요합니다.웹캠을 통해 실시간 영상 수집: 웹캠에서 실시간으로 프레임을 받아오는 작업.색상 감지: 이미지에서 특정 색상을 감지하고 해당 위치를 추적.점 그리기: 감지된 색상의 위치에 점을 그려 그림을 그리는 작업.. 2024. 10. 11. OpenCV + Python 이미지 자르기 및 크기 조정 안녕하세요. 코딩산책입니다.이미지 크기 조정과 자르기는 이미지 처리에서 가장 기본적이면서도 중요한 작업 중 하나입니다. 웹 개발, 디자인, 데이터 분석, 인공지능 등 다양한 분야에서 이미지의 크기를 조절하거나 특정 부분만을 사용해야 하는 경우가 많습니다. 특히, 컴퓨터 비전 작업에서는 이미지를 분석하기 전 크기를 최적화하거나, 필요 없는 부분을 제거하는 작업이 필수적입니다. OpenCV는 이러한 작업을 손쉽게 수행할 수 있는 강력한 도구를 제공합니다. 이 글에서는 OpenCV를 사용해 이미지를 원하는 크기로 변경하거나, 이미지에서 필요한 영역만을 선택해 자르는 방법을 소개합니다. 간단한 함수와 직관적인 사용법을 통해 이미지 처리 작업을 보다 효과적으로 수행할 수 있습니다. 이제 이미지 크기 조정과 자르기.. 2024. 10. 9. OpenCV + Python 히스토그램 분석 안녕하세요. 코딩산책입니다.히스토그램 분석은 이미지 처리에서 매우 중요한 역할을 합니다. 히스토그램은 이미지의 픽셀 값 분포를 나타내며, 밝기, 명암 대비, 이미지의 동적 범위 등을 분석하는 데 유용합니다. 이 블로그에서는 OpenCV와 Python을 활용해 다양한 히스토그램 처리 기법을 설명하고, 이를 구현하는 코드를 제시하겠습니다. 주요 개념으로는 기본 히스토그램 구하는 방법, 히스토그램 스트레칭, 히스토그램 평활화(Histogram Equalization), CLAHE(Contrast Limited Adaptive Histogram Equalization) 등을 다룹니다. 추가적으로 히스토그램 분석에서 중요한 개념 중 하나는 PDF (Probability Density Function)와 CDF (.. 2024. 10. 7. OpenCV + Python 이미지의 밝기와 명암 조절 안녕하세요. 코딩산책입니다.이미지 처리에서 밝기와 명암을 조절하는 작업은 기본적이면서도 매우 중요한 과정입니다. 특히 사진을 보정하거나 영상의 퀄리티를 높이는 작업에서 밝기와 명암은 핵심적인 요소로 작용합니다. 이번 글에서는 OpenCV와 Python을 사용하여 이미지의 밝기와 명암을 조절하는 방법을 소개합니다. 이 글에서는 Trackbar를 이용해 실시간으로 밝기와 명암을 조절하는 방법과 각 픽셀을 직접 조작하는 방법을 설명하고, 나아가 cv2.addWeighted 함수를 사용해 보다 직관적으로 명암 대비와 밝기를 동시에 조절하는 방법을 다룹니다. 또한 이미지 파일 형식에서 비손실 이미지인 BMP 포맷의 사용 이유에 대해서도 설명합니다. 1. 컬러 영상을 그레이스케일로 변환하기이미지를 처리할 때, 컬러.. 2024. 10. 5. OpenCV + Python 각도 측정기 (실습) 안녕하세요. 코딩산책입니다.이번 글에서는 이전에 학습했던 내용을 기반으로 파이썬과 OpenCV 라이브러리를 활용하여 이미지 상에서 두 선이 이루는 각도를 측정하는 프로그램을 만들어볼 예정입니다. 마우스 클릭을 통해 두 선을 정의하고, 간단한 수학적 계산을 통해 각도를 구하는 과정을 자세히 설명하고, 실제 코드와 함께 예시를 제공합니다. 1. 프로젝트 준비1.1 필요한 라이브러리import cv2import mathcv2: OpenCV 라이브러리로 이미지 처리를 담당math: 삼각함수 등 수학적 계산을 위한 표준 라이브러리1.2 이미지 불러오기image = cv2.imread('test.jpg')cv2.imread() 함수를 이용해 측정할 이미지를 불러옵니다. 'test.jpg'는 테스트 이미지 파일이므로.. 2024. 9. 30. 이전 1 2 다음 728x90 반응형