분류 전체보기 65

<CUDA>Median 함수 사용법(16Bit 1Channel 2D Median) - nppiFilterMedian_16u_C1R_Ctx

- Cuda nppiFilterMedian_16u_C1R_Ctx 함수를 이용해서, Medain 3x3 사용하는 코드.- 사용 cuda 버전 12.1- 필요 lib// NPP 라이브러리 링크 (CUDA 12.x는 모듈별 라이브러리 사용)#ifdef _WIN64// CUDA 12.x에서는 모듈별 라이브러리 사용#pragma comment(lib, "nppif.lib") // Image Filtering (미디언 필터 포함)#pragma comment(lib, "nppc.lib") // Core utilities#else#pragma comment(lib, "nppif.lib")#pragma comment(lib, "nppc.lib")#endif - 사용 코드void Median33CUDA..

기타 2025.11.05

C++ vector 제곱 합 or 두개의 vector 곱의 합 (std::transform_reduce)

*C++ 17 부터 지원std::transform_reduce 함수 사용법 정리 헤더 : 형태:std::transform_reduce( execution, // (예: std::execution::par) first, last, // 처리할 데이터 범위 init_value, // 초기값 reduce_op, // Reduce 연산 (예: 덧셈) transform_op // Transform 연산 (예: 제곱)); 최적화 셋팅 종류 :std::execution::seq: 순차적으로 실행 (기본값, 병렬 처리 안 함) std::execution::par: 여러 스레드에서 병렬로 실행 std..

C++ 2025.10.13

SSIM 함수 (Structural Similarity Index Map)

img1, img2 가 있을 때, 두 영상의 유사도 비교하여 0~1 사이 값으로 반환해 주는 함수.// SSIM 계산 및 차이맵 반환 함수double calculateSSIM(const Mat& img1, const Mat& img2, Mat& ssim_map) {const double C1 = 6.5025, C2 = 58.5225;Mat img1_64F, img2_64F;img1.convertTo(img1_64F, CV_64F);img2.convertTo(img2_64F, CV_64F);// 평균값(Mean) 계산Mat mu1, mu2;GaussianBlur(img1_64F, mu1, Size(11, 11), 1.5);GaussianBlur(img2_64F, mu2, Size(11, 11), 1.5);..

C++ 2025.03.17

어셈블리 명령어 정리

MOV: 데이터를 한 위치에서 다른 위치로 이동MOV AX, 10 ; AX 레지스터에 값 10을 저장MOV BX, AX ; BX 레지스터에 AX의 값을 복사ADD: 두 값을 더함MOV AX, 10 ; AX 레지스터에 값 10을 저장MOV BX, AX ; BX 레지스터에 AX의 값을 복사SUB: 두 값을 뺌SUB AX, BX ; AX에서 BX의 값을 빼고 그 결과를 AX에 저장SUB AX, 3 ; AX에서 3을 빼고 그 결과를 AX에 저장CMP: 두 값을 비교하여 플래그를 설정CMP AX, BX ; AX와 BX를 비교 (실제로는 AX - BX)JMP: 지정된 위치로 무조건 점프JMP label ; label로 무조건 점프

기타 2025.01.21

이미지 처리 분야의 주요 미해결 문제

다음은 이미지 처리 분야의 주요 미해결 문제와 그에 따른 연구 범위:1. 초해상도 이미지(Super-Resolution Imaging)문제: 이미지 센서의 해상도 한계를 넘어선 고해상도 이미지를 생성하되 정보 손실이나 왜곡이 발생하지 않도록 처리하는 것.연구 범위: 딥러닝을 활용해 저해상도 이미지를 고해상도로 변환하거나 여러 이미지를 효과적으로 결합하는 새로운 방법 개발.2. 실시간 비디오 이미지 처리문제: 복잡하고 동적인 환경에서 비디오 이미지를 실시간으로 정확하게 처리하는 것.연구 범위: 고성능 하드웨어나 새로운 데이터 샘플링 알고리즘을 활용해 처리 속도를 높이고 품질 저하 없이 효율적인 기술 개발.3. 2D 이미지로부터 3D 이미지 재구성문제: 2D 이미지 데이터를 기반으로 정확하게 3D 구조를 재..

영상처리 2024.12.15

C++ 소멸자에 virtual을 사용하는 이유

virtual 소멸자를 사용하면 다형성을 올바르게 처리할 수 있습니다. 부모 클래스의 포인터를 통해 자식 클래스의 객체를 삭제할 때, 자식 클래스의 소멸자도 호출되어 자원 해제가 올바르게 이루어집니다. 그렇지 않으면 자식 클래스에서 할당한 리소스를 해제하지 못할 수 있습니다. 따라서, 클래스를 상속할 계획이 있는 경우, 특히 동적 메모리를 사용하는 경우 소멸자는 반드시 virtual로 선언해야 합니다.

C++ 2024.12.15