전체 글 (25)

[C# WPF] YOLO Dataset Labeling 툴 개발 및 배포 (MVVM 기반, Roboflow 포맷 지원)

안녕하세요. 이번에는 딥러닝 비전 모델인 YOLO(You Only Look Once) 학습을 위한 커스텀 데이터셋 라벨링 툴을 직접 개발하여 공유합니다. 기존에도 다양한 라벨링 툴(LabelImg 등)이 존재하지만, C# WPF를 활용해 **직관적인 UI**와 **가벼운 단일 실행 파일** 형태로 동작하면서, **Roboflow 형태의 YOLOv8 데이터셋 Export**까지 한 번에 처리할 수 있는 툴이 필요하여 직접 제작하게 되었습니다.--- 🛠 기술 스택 (Tech Stack)* **언어 & 프레임워크**: C#, .NET 10.0* **UI**: WPF (Windows Presentation Foundation)* **아키텍처**: MVVM (Model-View-ViewModel) 디자인 패턴*..

2026. 5. 4. 13:24

개발 회사 중소기업들은 원래 다 이러는가

현재 경력 5년차..FA업계 비전 개발자에서 MES POP 개발자로 직군 변경.Winform으로 함수당 3000줄 이상 적혀있는SQL 날쿼리로 작성되어있는코드를속도 개선을 위해 구간별로 프로시저로 변경 및 로그를 넣어달라고 한다..기한:3일작성되어있는 쿼리문:60가지전달받은 DB ERD -> X값이 하드코딩 되어있는 것들이 있어서전반적인 코드 구조 및 DB테이블들을 살펴보고 있는데5년차 개발자면 한눈에 보여야 되는것 아니냐고 묻는다..내가 잘못된것인가.. 그냥 AI에 다 넣어버릴까 싶기도 하다..남은기한:1일

2026. 4. 29. 14:46

[WPF/C#] Tesseract & PaddleOCR 기반 지능형 OCR 테스트 툴 개발 및 릴리즈 🚀

안녕하세요! 오늘은 비전 검사 및 다양한 이미지 텍스트 추출 작업에서 필수적으로 사용되는 OCR(광학 문자 인식) 테스트 툴의 개발 및 릴리즈 소식을 전해드립니다.현업에서 머신비전이나 데이터 추출 시스템을 개발하다 보면, 이미지의 상태에 따라 인식률이 크게 달라지기 때문에 최적의 전처리 옵션을 찾고 다양한 OCR 엔진을 비교 테스트하는 과정이 반드시 필요합니다. 이번에 개발한 툴은 이러한 번거로운 과정을 하나의 UI에서 직관적이고 빠르게 수행할 수 있도록 고안되었습니다.🛠 Tech Stack (기술 스택)최신 데스크톱 앱 개발 트렌드에 맞춰 최적의 퍼포먼스를 내기 위해 아래와 같은 기술 스택을 활용했습니다.Framework: .NET 10.0, WPFArchitecture: MVVM Pattern (C..

2026. 4. 29. 14:30

OpenCV를 이용해 이미지 출력하기

OpenCV는 래스터 그래픽스 이미지 파일 포맷을 쉽게 불러올 수 있는 별도의 함수를 제공합니다. 이 함수는 불러온 압축 해제된 이미지 데이터 구조에 필요한 메모리 할당과 같은 복잡한 작업을 처리하며, 파일 시그니처(File Signature)를 읽어 적절한 코덱을 결정합니다. OpenCV에서 이미지를 불러올 때는 확장자를 확인하는 방식이 아닌 파일 시그니처를 읽어 파일의 포맷을 분석합니다. 파일 시그니처는 파일 매직 넘버(File Magic Number)라고도 하며, 각 파일 형식마다 몇 개의 바이트가 지정되어 있습니다. 예를 들어, PNG 확장자의 경우 89 50 4E 47 … 형태로 파일 헤더에 포함되어 있습니다. 이미지 입력 함수는 운영체제의 코덱을 사용해 운영체제 별로 픽셀값이 다를 수 있습니다..

2021. 10. 26. 13:21

OpenCV을 이용해 카메라(웹캠) 출력

OpenCV를 하면서 기본이라고 할 수 있는 카메라 출력을 해볼 것입니다. 우선 완성 코드를 보면 메인코드 import cv2 capture = cv2.VideoCapture(0) capture.set(cv2.CAP_PROP_FRAME_WIDTH, 640) capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) while cv2.waitKey(33) < 0: ret, frame = capture.read() cv2.imshow("VideoFrame", frame) capture.release() cv2.destroyAllWindows() 구문 코드 해석 capture = cv2.VideoCapture(0) 비디오 출력 클래스(cv2.VideoCapture)를 통해 내장 카메라 또는..

2021. 10. 26. 13:10

영상처리 및 기초 딥러닝 공부 방법 및 과정(개인적인 생각)

필자가 딥러닝부터 시작해서 영상처리를 공부하기까지의 공부방법을 소개하려고한다(광고x, 초급자 기준) 파이썬 및 C, C++ 우선 기본적으로 본인이 가고자 하는 기업에서 사용하는 언어를 마스터까진 아니더라도 코드 해석 및 기초적인 코드, 중견기업 이상을 원한다면 코딩테스트 준비까지 하는 것을 추천한다. 현재 기업에서 대부분 쓰이는 AI 관련 코딩언어는 대표적으로 파이썬 및 C종류이며 현재 BrainJS가 새로 생겨남에 따라 자바스크립트도 점점 성장세를 이루고 있다. 한줄요약: 한 언어를 기준으로 점점 스펙트럼을 넓히는 것을 추천(넓힐수록 반기는 기업들은 많을 것 같음) 넘파이 파이썬을 공부하게 되었다면 두번째로는 넘파이가 필수이다. 기초적인 shape 및 계산을 도와주는 numpy이다. 넘파이는 딥러닝 과..

2021. 10. 25. 15:15

MIL의 기본 구조 해석

MIL의 기본 구조에 대해서 구문설명을 하는 부분이다. 좀 더 빠른 이해를 위해서 전 게시물을 보길 바란다 처음 공부해 보는 영역이라 어려울 줄 알았는데 기본구조는 C,C++형식으로 되어있다. 우선 #include로 mil헤더파일을 포함시킨다. void main 구문에서 변수설정을 하는데 변수 타입은 long 형 포인터이고 필요한 모듈을 MIL_ID형으로 선언한다. Allocate 부분에서는 각 모듈을 할당하는데, 우선 최상의 모듈(Application)을 할당하고 프레임 그래버 보드(Solios)를 시스템으로 할당하고 보드가 여러개일 경우 M_DEV0, M_DEV1, ... M_DEVn 으로 한다. 일반적으로 VGA 카드에서 가까운 보드가 DEV0이다.(산업용 컴퓨터는 상이할 수 있음) MdigAllo..

2021. 10. 25. 12:33