본문 바로가기
728x90
반응형

OpenCV8

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.
OpenCV + Python 한글 폰트 출력하기 안녕하세요. 코딩산책입니다.OpenCV는 기본적으로 한글을 출력하는 기능을 지원하지 않기 때문에, 한글을 이미지에 출력하려면 별도의 추가 작업이 필요합니다. 이를 위해 주로 사용하는 방법은 TrueType 폰트(TTF) 파일을 사용하여 Pillow(PIL) 라이브러리의 도움을 받아 한글을 이미지에 그리는 방식입니다. 1. 기본적인 OpenCV의 텍스트 출력 기능OpenCV에서는 cv2.putText() 함수를 사용하여 이미지를 텍스트로 주석 처리할 수 있습니다. 하지만 이 함수는 주로 영어, 숫자 등 ASCII 기반 텍스트만 제대로 출력되며, 한글과 같은 유니코드 문자 출력은 지원하지 않습니다.import cv2import numpy as np# Create a blank imageimage = np.z.. 2024. 9. 30.
OpenCV + Python 다양한 그리기 함수 및 문자 출력 안녕하세요. 코딩산책입니다.OpenCV는 이미지 처리 라이브러리로, 이미지 위에 다양한 도형과 텍스트를 쉽게 그릴 수 있는 함수를 제공합니다. 이번 포스팅에서는 직선, 도형(사각형, 원, 다각형, 타원 등)을 그리는 다양한 함수들과, 텍스트를 이미지 위에 출력하는 방법을 설명하고 예제 코드를 통해 활용 방법을 알아보겠습니다. 각 축마다 좌표계를 쉽게 구현하기 위해 이미지를 그리기 위한 도구로 matplotlib를 사용하도록 합니다. 사용방법을 모르시는 경우에는 아래의 포스트를 참조 하여주시기 바랍니다.2024.09.25 - [프로그래밍 (Programming)/파이썬 (Python)] - Python Matplotlib 데이터 시각화 - imshow 함수 사용법 1. 직선 그리기 (cv2.line 및 c.. 2024. 9. 25.
728x90
반응형