분류 전체보기
-
HDR 기본 원리영상처리/camera ISP 2025. 2. 1. 19:30
1. HDR의 기본 개념과 원리HDR(High Dynamic Range) 는 말 그대로 넓은 범위의 밝기(다이내믹 레인지) 를 표현하는 기술입니다. 일반적인 사진에서는 밝은 부분이 너무 하얗게 날아가거나, 어두운 부분이 너무 검게 뭉개지는 경우가 많습니다. HDR은 이러한 문제를 해결하여 밝은 영역과 어두운 영역 모두에서 세부적인 디테일을 살려주는 기술입니다.기본 원리는 여러 장의 사진을 서로 다른 노출 값(Exposure)으로 촬영한 후, 이를 합성하여 하나의 이미지로 만드는 것입니다. 예를 들어:언더 노출: 밝은 부분의 디테일을 살림정상 노출: 전반적인 밸런스를 맞춤오버 노출: 어두운 부분의 디테일을 살림이렇게 촬영된 이미지를 ISP에서 합성하여 밝고 어두운 부분 모두에서 디테일이 살아있는 사진을 생..
-
C++ 객체 지향 프로그래밍: 상속과 다형성c++ 2025. 2. 1. 18:17
이전 포스팅에서는 **C++ 객체 지향 프로그래밍(OOP)**의 기본 개념과 클래스, 객체에 대해 알아보았습니다. 이번 글에서는 **상속(Inheritance)**과 **다형성(Polymorphism)**이라는 두 가지 핵심 OOP 개념을 소개하고, C++에서 이를 어떻게 구현하는지 살펴보겠습니다.1. 상속(Inheritance)란?상속은 기존 클래스의 속성과 메서드를 새로운 클래스에 물려주는 기능입니다. 이를 통해 코드의 재사용성을 높이고, 유지보수를 쉽게 할 수 있습니다.(1) 기본 상속 구조부모 클래스(기초 클래스, Base Class): 기존 클래스자식 클래스(파생 클래스, Derived Class): 부모 클래스로부터 상속받은 새로운 클래스#include using namespace std;//..
-
C++ 객체 지향 프로그래밍 (OOP) 시작하기c++ 2025. 2. 1. 16:23
C++는 **객체 지향 프로그래밍(Object-Oriented Programming, OOP)**의 강력한 기능을 제공하는 언어입니다. 객체 지향 프로그래밍은 코드를 더 효율적이고 유지보수하기 쉽게 만들어 주는 프로그래밍 패러다임으로, 클래스와 객체를 기반으로 합니다.이번 글에서는 C++에서 객체 지향 프로그래밍의 기초 개념을 소개하고, 클래스와 객체의 개념, 그리고 이를 어떻게 사용하는지에 대해 알아보겠습니다.1. 객체 지향 프로그래밍(OOP)란?객체 지향 프로그래밍은 **현실 세계의 사물(객체)**을 프로그래밍으로 모델링하는 방법입니다.OOP의 4대 원칙:캡슐화(Encapsulation): 데이터를 보호하고 숨기는 것. 객체의 내부 구현을 외부에 노출하지 않습니다.상속(Inheritance): 기존 ..
-
다양한 머신러닝 알고리즘 비교 및 하이퍼파라미터 튜닝pandas 2025. 1. 31. 22:28
머신러닝 모델의 성능을 최적화하려면 여러 알고리즘을 비교하고, 각 모델의 하이퍼파라미터를 튜닝하는 과정이 필요합니다.이번 글에서는 Scikit-Learn을 활용하여 여러 알고리즘을 비교하고, 최적의 모델을 찾는 방법을 소개하겠습니다.1. 라이브러리 설치 및 불러오기먼저 필요한 라이브러리를 설치합니다.pip install pandas scikit-learn seaborn matplotlib이제 라이브러리를 불러옵니다.import pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_split, cross_val_score, GridSearchCVfrom sklea..
-
Pandas와 Scikit-Learn을 활용한 머신러닝 모델 만들기pandas 2025. 1. 30. 22:36
Pandas와 Scikit-Learn을 활용한 머신러닝 모델 만들기이번 포스팅에서는 Pandas로 데이터를 정리한 후 Scikit-Learn을 활용하여 머신러닝 모델을 구축하는 과정을 살펴보겠습니다.예제 데이터셋으로 타이타닉 데이터를 사용하여 생존자를 예측하는 머신러닝 모델을 만들어보겠습니다.1. 라이브러리 설치 및 불러오기먼저 필요한 라이브러리를 설치합니다.pip install pandas scikit-learn seaborn matplotlib이제 필요한 라이브러리를 불러옵니다.import pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitfro..
-
Pandas를 활용한 실전 데이터 분석 예제pandas 2025. 1. 30. 22:34
이번 포스팅에서는 실제 데이터셋을 활용하여 데이터 분석을 진행해보겠습니다.예제로 타이타닉(Titanic) 데이터셋을 사용하여 생존자 분석을 수행하겠습니다.1. 데이터 불러오기타이타닉 데이터는 Seaborn 라이브러리에서 제공하는 데이터셋 중 하나입니다.import pandas as pdimport seaborn as sns# 타이타닉 데이터셋 불러오기df = sns.load_dataset("titanic")# 데이터 확인print(df.head()) # 상위 5개 행 출력print(df.info()) # 데이터 정보 확인출력 결과: survived pclass sex age sibsp parch fare embarked class ...0 0 ..
-
Pandas를 활용한 데이터 분석 및 시각화pandas 2025. 1. 30. 22:31
데이터를 정리한 후에는 이를 분석하고 시각화하는 과정이 필요합니다.Pandas는 기본적인 데이터 분석 기능을 제공하며, Matplotlib 및 Seaborn 라이브러리와 함께 사용하면 강력한 시각화를 수행할 수 있습니다.1. 데이터 분석 기초(1) 기본 정보 확인import pandas as pd# 예제 데이터 생성data = {'이름': ['홍길동', '이순신', '강감찬', '김유신', '유관순'], '나이': [25, 35, 45, 40, 22], '도시': ['서울', '부산', '대구', '광주', '서울'], '연봉': [5000, 7000, 8000, 7500, 5500]}df = pd.DataFrame(data)# 데이터 기본 정보 확인print(df...
-
Pandas를 활용한 데이터 전처리 및 정리pandas 2025. 1. 30. 22:28
데이터 분석을 하기 전에 데이터 전처리(Data Preprocessing) 과정이 필수적입니다.Pandas는 결측값 처리, 중복 제거, 데이터 변환 등의 기능을 제공하여 데이터를 정리하는 데 유용합니다.1. 결측값 처리 (Missing Values)데이터셋에는 종종 비어있는 값(NaN, null)이 포함되어 있습니다. 이를 처리하지 않으면 분석에 오류가 발생할 수 있습니다.(1) 결측값 확인하기import pandas as pd# 예제 데이터 생성data = {'이름': ['홍길동', '이순신', '강감찬', '김유신'], '나이': [25, 30, None, 40], '도시': ['서울', None, '대구', '부산']}df = pd.DataFrame(data)# 결측값 확인..