일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- atmega328
- sensor
- UNO
- Unity
- Class
- Encapusulation
- compare
- SERIAL
- stream
- memory
- length
- c++
- preprocessing
- Contour
- file access
- digitalRead
- java
- inheritance
- Barcode
- parameter
- mfc
- Read
- public
- flutter
- APP
- Android
- aduino
- Overloading
- wpf
- Pointer
- Today
- Total
목록전체 글 (293)
폴크(FOLC)

int x = 0;bool b = false;string s = null;MyClass obj = nullint[] arr = null; // null (배열은 참조형)int[] numbers = new int[5]; // {0, 0, 0, 0, 0}byte[] arr = null; // null (배열은 참조형)byte[] numbers = new byte[0];byte[] numbers = Array.Empty(); float[] arr = null; // null (배열은 참조형) float [] numbers = new float[0]; float [] numbers = Array.Empty();string[] names = new string[3]; // {null..

후보: Feature Matching + RANSAC + 서브픽셀 정합구성:특징점 추출: SIFT 또는 SuperPoint 등 (정밀도 좋음)정합 필터링: FLANN + RANSAC으로 잘못된 매칭 제거정밀 위치 추정: 서브픽셀 정렬 (Sub-pixel refinement)(선택) 이미지 정합 후 위치 보정 (Homography로 변환 모델 추정)장점:회전/스케일/조명 변화/노이즈에 매우 강함정확한 위치 정합 가능수 μm 단위의 정밀 정합도 가능 (산업/과학 영상에서도 활용)후보: Deep Learning 기반 - Siamese Network / Object Detection장점:특징점 없이 복잡한 패턴도 학습을 통해 정합회전/스케일/노이즈/왜곡에 매우 강함정합 유무 뿐 아니라 존재 확률, 위치 추정까지..

ㅁ. modern C++ (C++11 이후) 적극 활용하기auto, range-based for, smart pointers (unique_ptr, shared_ptr) 등 사용std::vector, std::map, std::optional 등 STL 적극 활용람다 표현식, constexpr, std::move 등도 성능과 코드 간결성에 도움ㅁ. RAII 패턴 따르기 (Resource Acquisition Is Initialization)자원(메모리, 파일, 락 등)은 객체에 맡기고 스코프를 벗어나면 자동으로 해제되게 설계예: std::lock_guard, std::unique_ptrㅁ. 메모리 관리 자동화하기new, delete 지양 → 스마트 포인터로 대체메모리 누수, 이중 해제 방지ㅁ. 코드 스타..

MFC C++ 애플리케이션의 성능 향상은?효율적인 알고리즘과 데이터 구조 선택: 적절한 알고리즘과 데이터 구조를 선택하는 것은 성능 최적화의 핵심ex) 정렬이 필요한 경우 퀵 정렬(Quick Sort)이나 병합 정렬(Merge Sort)과 같은 효율적인 알고리즘을 선택데이터 저장에는 std::vector나 std::map 등 적합한 컨테이너를 사용컴파일러 최적화 옵션 활용: 컴파일 시 컴파일러의 최적화 옵션을 활용하면 실행 성능을 향상Visual Studio의 경우 /O2 옵션은 최대 속도를 위한 최적화를 수행/O1 옵션은 코드 크기를 줄이는 최적화를 수행인라인 함수 사용: 짧은 길이의 함수는 인라인으로 선언하여 함수 호출 오버헤드를 줄임.메모리 할당 최소화: 동적 메모리 할당은 성능 저하의 주요 원..

8bit - gray scale 이미지를 24bit color scale 이미지로 표현하는 color map 데이터가 매우 많이 제공한다. OpenCV 에서 기본으로 제공하는 데이터도 있지만 상용 라이브러리들이 제공하는 여러가지 데이터들이 많이 있다. // 컬러맵 룩업 테이블 초기화 (실제 값으로 채워야 함) std::vector matlabColormap(256); void initializeAfmhotColormap() { for (int i = 0; i if (i matlabColormap [i] = cv::Vec3b(0, 0, static_cast(i * 3)); } else if (i matlabColormap [i] ..

무료로 사용할 수 있는 버전들은 아래와 같이 대략 6가지 정도이다.각 컨트롤마다 완전 무료로 공개된 버전도 있지만 64비트에서만 유료로 지원하는 버전도 있다.1. MFC Grid Control (CGridCtrl) - 2015년 2.27 버전2. Ultimate Grid - 2007년 버전 7.3 (2013년에 코드 공개)3. CGridListCtrlEx - 2016년 2.4 버전4. CQuickList - 2006년5. ALX Grid Control - 2025년6. Dapfor MFC Grid - 2010년 2.3.2 버전

# 일반적으로 프로세스간의 데이터를 공유하는 방법 -> IPC : Inter-Process Communication - 윈도우 메시지 전달 방법 - TCP/IP 통신 이용 방법 - 공유 메모리 이용 방법 - 공유 파일 이용 방법 - 등등 # 2개의 PC에서 특정한 데이터를 공유 하고자 하는 경우에 이용한다. -> 공유 파일 이용 방법 -> CFile 클래스 이용 # 소스 코드 struct SHAREDFILEDATA { int AAA; int BBB; }; - 데이터 변경 CString strFileName = _T("D:\\SharedMemFile.XXX"); CFile *pFileMem = new CFile; if (pFileMem) { if (pFileMem->Open(strFileName, CFil..

# 일반적으로 프로세스간의 데이터를 공유하는 방법 -> IPC : Inter-Process Communication - 윈도우 메시지 전달 방법 - TCP/IP 통신 이용 방법 - 공유 메모리 이용 방법 - 공유 파일 이용 방법 - 등등 # 2개의 서로 다른 프로세스에서 특정한 데이터를 공유 하고자 하는 경우에 이용한다. -> 공유 메모리 이용 방법 -> WinAPI ( CreateFileMapping[생성], OpenFileMapping[연결], UnmapViewOfFile[해제] ) 함수를 이용 # 소스 코드 #define SHARED_MEM_NAME _T("shared_mem_test") struct SHAREDMEMDATA { int AAA; int BBB; }; - 생성 m_hHandle = C..

# 일반적으로 프로세스간의 데이터를 공유하는 방법 -> IPC : Inter-Process Communication - 윈도우 메시지 전달 방법 - TCP/IP 통신 이용 방법 - 공유 메모리 이용 방법 - 공유 파일 이용 방법 - 등등 # 2개의 서로 다른 프로세스에서 특정한 데이터를 공유 하고자 하는 경우에 이용한다. -> 윈도우 메시지 전달 방법 -> WM_COPYDATA 구조체를 이용 # 소스 코드 HWND process = ::FindWindow(NULL, _T("XXXXXX")); // 찾는 process 이름 if (process != NULL) { CString Value = _T("1"); // 전송하는 데이터 값 COPYDATASTRUCT data; data.dwData = 0x9999..