[OpenCV] VideoCapture 사용법.
·
Programming/DIP
다음의 코드는 OpenCV를 사용하여웹캠(또는 다른 비디오 장치)을 탐색하고,사용 가능한 비디오 장치 및 API Backend를 확인한 후,선택된 카메라 장치에서 비디오 스트림을 가져와 화면에 출력하는 프로그램임.코드는 크게 세 가지 주요 기능으로 구성됨:사용 가능한 카메라 장치 탐색사용 가능한 API Backend 확인비디오 스트림 캡처 및 화면 출력코드의 주요 부분 설명:1. 모듈 임포트: import cv2 import sys, os import contextlibcv2: OpenCV 라이브러리로, 비디오 캡처 및 처리 기능을 제공.sys: 시스템 기능을 사용하기 위한 모듈로, 프로그램 종료 시 사용.os: os 와 관련된 추가 기능을 사용할 수 있도록 임포트.2. find_availab..
[OpenCV] API Backend for VideoCapture
·
Programming/DIP
API 백엔드(API Backend)는OpenCV와 같은 라이브러리가비디오 장치나 비디오 파일, 네트워크 스트림 등의 다양한 입력 소스와 상호작용할 때사용하는 하부 시스템 또는 하위 레벨의 API를 의미함.Backend는 OpenCV가 특정 운영 체제나 플랫폼에 맞는 방식으로 비디오 데이터를 캡처하고 처리할 수 있도록 중재해줌.1. Backend의 역할OpenCV는 다양한 장치나 파일에서 비디오 데이터를 읽고 처리하기 위해서 다양한 운영 체제나 장치와 상호작용하는 방법을 알아야 함이는 모든 운영 체제나 하드웨어는 서로 다른 방법으로 장치를 처리하는 경우가 많기 때문임.때문에 OpenCV는 여러 개의 비디오 I/O API 백엔드를 사용하여 다양한 장치를 지원함.각 backend는 특정 플랫폼이나 기술 스택..
[DIP] Hu Moment
·
Programming/DIP
Hu momentHu 모멘트(Hu Moment)는 이미지의 형태적 특성을 수학적으로 분석하기 위해 사용되는 지표임. 1962년 중국 수학자인 Hu Ming-Kei가 제안한 불변 모멘트(invariant moments)로, 이미지의 크기, 회전, 그리고 이동 변환에 대해 불변.Hu 모멘트를 이용하면 이미지가 회전하거나 크기가 변경되어도 동일한 형태적 특성을 추출할 수 있음.주로 binary image나 gray-scale image에 많이 사용됨.ref. Hu. Visual Pattern Recognition by Moment Invariants, IRE Transactions on Information Theory, 8:2, pp. 179-187, 1962. Hu Moment는 고전적인 패턴 인식(pat..
[DIP] Tangential Distortion (접선왜곡)
·
Programming/DIP
접선 왜곡(Tangential distortion)은 일반적인 렌즈를 사용하는 광학 시스템에서 발생하는 렌즈 왜곡(lens distortion)의 한 유형임. 렌즈 축에서 멀어진 객체의 위치가 왜곡되어 이미지 포인트가 이상적인 위치에서 접선 방향으로 이동되는 결과를 초래.Barrel distortion과 함께 대표적인 lens distortion임.다음 접힌 글은 Barrel distortion에 대한 설명임:더보기2023.09.26 - [Programming/DIP] - [DIP] Radial distortion : barrel and pincushion distortions [DIP] Radial distortion : barrel and pincushion distortions0. Remapping..
[ML] Ensemble 기법
·
Programming/ML
Ensemble 이란?앙상블(Ensemble) 기법은 머신러닝에서 여러 모델을 결합하여 예측 성능을 향상시키는 방법임.앙상블의 핵심은 단일 weak learner의 한계를 극복하기 위해 여러 모델의 예측 결과를 효과적으로 결합하여 강력한 모델(strong learner)을 만드는 것임.이 기법은 모델들이 서로 다른 예측을 내더라도 이를 조합하여 더 높은 정확도와 안정성을 확보할 수 있음.대표적인 앙상블 기법으로는 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking)이 있음.이들은 서로 다른 방식으로 weak learners를 결합하며 각기 다른 장단점을 가짐.Bagging (배깅)배깅(Bagging, Bootstrap Aggregating)은 여러 독립적인 모델을 병렬로 훈련(Par..
[CV] Sharpness (선예도)
·
Programming/DIP
sharpness(선예도)은 세부 정보(detail)의 명확성과 질감을 얼마나 잘 나타내는지를 나타내는 주관적인 지표임.날카로움에 영향을 주는 두 가지 주요 요인은 다음과 같음. 공간 해상도(Spatial Resolution)이미지에서 인지할 수 있는 최소의 세부 정보의 크기를 나타냄.이는 image에서 서로 가까이 있는 세부 요소들을 얼마나 잘 구별할 수 있는지를 의미하며, FWHM등으로 측정됨.해상도가 높을수록 더 많은 세부 정보를 포착할 수 있음.선명도(Acutance)이미지의 경계선에서 정보가 얼마나 급격하게 변화하는지를 나타냄.높은 acutnace는 선명한 전환과 명확하게 정의된 경계를 가진 디테일을 제공함.다음의 그림은 이 두 요소가 sharpness에 미치는 영향을 비교함.낮은 공간 해상도와..