WPF OpenCV 프로젝트 #33: Image Pyramid (Gaussian & Laplacian)

ImagePyramid

Image Pyramid (이미지 피라미드)를 주제로 Gaussian Pyramid (가우시안 피라미드)와 Laplacian Pylamid (라플라시안 피라미드)에 대해 OpenCvSharp에서 제공하는 함수들을 이용해서 순차적으로 간단히 개념을 정리하고, WPF OpenCV 프로젝트에 구현해 보겠습니다.이전 포스팅(#32)에서는 Morphology (모폴로지: 형태학)를 주제로 Erosion (침식), Dilation (팽창), Opening (열림), Closing (닫힘), Gradiant (그레디언트), Top-Hat, Black-Hat 에 대해 OpenCvSharp에서 제공하는 함수들을 이용해서 한꺼번에 순차적으로 간단히 개념을 정리하고, … 더 읽기

WPF OpenCV 프로젝트 #32: Morphology (Erosion, dilation, Opening, Closing)

Morphology 적용 이미지

Morphology (모폴로지: 형태학)를 주제로 Erosion (침식), Dilation (팽창), Opening (열림), Closing (닫힘), Gradiant (그레디언트), Top-Hat, Black-Hat 에 대해 OpenCvSharp에서 제공하는 함수들을 이용해서 한꺼번에 순차적으로 간단히 개념을 정리하고, WPF OpenCV 프로젝트에 구현해 보겠습니다.이전 포스팅(#31)들에서 Average Blur, Box Filter, Gaussian Blur, Median Blur, Bilateral Filter 들을 OpenCvSharp에서 제공하는 함수들을 이용해서 처리하는 방법과 Edge Detection Filter 들에 대해 … 더 읽기

WPF OpenCV 프로젝트 #31: Edge Detection (Sobel, Scharr, Canny, …)

CannyEdge

BasicDifferential, Roberts, Prewitt, Sobel, Scharr, Laplacian, Canny Edge 를 이용한 Edge Detection (경계 처리)를 주제로 OpenCvSharp에서 제공하는 함수들을 이용해서 한꺼번에 순차적으로 간단히 개념을 정리하고, WPF OpenCV 프로젝트에 구현해 보겠습니다. 지난 포스팅(#30)에서 Average Blur, Box Filter, Gaussian Blur, Median Blur, Bilateral Filter 들을 OpenCvSharp에서 제공하는 함수들을 이용해서 처리하는 방법을 나름 깊이 있게 다뤘습니다. 이번 포스팅에서 다룰 … 더 읽기

WPF MIL Project #2 – MIL(AIL) Architecture

MIL_Architecture

WPF MIL Project 를 개발함에 있어 사용하게 되는 MIL X 라이브러리의 개념 부분으로 MIL (or AIL) 상용 라이브러리의 Architecture (구조) 에 대한 내용에 대해 다루겠습니다.이전 포스팅(#1)에서는 WPF MIL Project 를 진행하기 위해 진행 방향과 간략한 MIL X 상용 라이브러리에 대한 내용 그리고, Windows 환경에 개발 진행 WPF MIL 프로젝트의 개발 환경에 대해 정리했었습니다. 들여다 보면 … 더 읽기

WPF OpenCV 프로젝트 #28: Camera Calibration (ChessBoard)

Distortion ChessBoard Image

Camera Calibration (카메라 캘리브레이션)과 관련하여 Barrel distortion (방사 왜곡) 이 Camera 에서 발생하였때 이것을 처리하는 방법에 대해 WPF OpenCV 프로젝트에 추가 하도록 하겠습니다. 지난 포스팅(#26, #27)에서는 우리가 Lens Distortion Simulation을 통해 일부러 멀쩡한 이미지를 볼록하거나 오목하게 찌그러뜨려 봤습니다. 그것도 두 번에 걸쳐서 진행을 했었죠. 하나는 OpenCV의 Polar 함수를 이용한 방법이었고, 다른 하나는 수학 연산을 이용한 … 더 읽기

WPF OpenCV 프로젝트 #20: CLAHE (Contrast Limiting Adaptive Histogram Equalization)

WPF OpenCV - CLAE

CLAHE 알고리즘을 WPF OpenCV 프로젝트에 구현하겠습니다. 지난 포스팅(#19)에서는 히스토그램 평활화(Equalize)를 통해 영상의 명암비를 전체적으로 높이는 방법을 다뤘습니다. 확실히 이미지가 밝아지고 선명해지긴 했지만, 혹시 뭔가 “과하다”는 느낌 못 받으셨나요? 너무 어두운 배경에 있던 노이즈(Noise)까지 덩달아 선명해지거나, 밝은 부분이 하얗게 날아가 버리는 현상 말이죠. 오늘은 바로 그 문제를 해결해 주는 ‘업그레이드된 평활화’, CLAHE (Contrast Limiting Adaptive Histogram … 더 읽기

WPF OpenCV 프로젝트 #14: Bug 수정 (Zoom 측정 시 ROI 좌표 틀어짐 해결) 및 Line Distance (직선 거리 측정) 구현

Bug 수정 (Zoom 측정 시 ROI 좌표 틀어짐 해결) 및 직선 거리 측정을 WPF OpenCV 프로젝트에 구현하겠습니다. 지난 13편까지 우리는 도형 그리기에 ROI 설정까지 정말 많은 기능을 숨 가쁘게 구현해 왔습니다. 그런데 혹시… 뭔가 이상한 점 못 느끼셨나요? (12편부터 계속되던 문제였는데 말이죠.) ROI 사각형을 예쁘게 그려 놓고, 마우스 휠을 돌려 이미지를 확대/축소(Zoom In/Out) 했을 때, … 더 읽기

WPF OpenCV 프로젝트 #12: ROI(관심 영역) 크기 조절 및 이동 기능 구현 (Interaction)

이번 포스팅에서는 ROI(관심 영역) 크기 조절 및 이동 기능 구현(Interaction)을 WPF OpenCV 프로젝트에 구현하겠습니다. 지난 포스팅(#11)에서 ROI 사각형 주변에 8개의 크기 조절 핸들(Picker)을 예쁘게 배치했습니다. 하지만 아직은 핸들을 잡고 흔들어도 아무 반응이 없었죠? (그림의 떡이었죠.) 오늘은 드디어 이 Picker 핸들에 생명을 불어넣어 ROI 크기를 늘리고 줄이는 기능, 그리고 잘못 그린 ROI를 통째로 이동 시키는 기능을 … 더 읽기

WPF OpenCV 프로젝트 #11: ROI 이미지 저장 및 크기 조절 핸들(Resize Handle) UI 구현

WPF ROI Resize Handle 실행 화면

ROI 이미지 저장 및 ROI 영역 사각형의 크기 조절 핸들(Resize Handle)을 WPF OpenCV 프로젝트에 구현하도록 하겠습니다.지난 포스팅(#10)에서 ROI(관심 영역)를 자르는 기능까지 구현했는데, 글을 올리고 나서 보니 “저장하기“를 빼 먹었더군요. (가끔은 중요한 걸 깜빡하곤 하죠? 저만 그런 거 아니죠?) 그래서 오늘은 1. ROI 이미지 저장 기능을 마무리하고, 사용하다 보니 너무 불편했던 2. ROI 영역 수정(크기 조절) … 더 읽기

WPF OpenCV 프로젝트 #10: ROI(관심 영역) 자르기 및 저장 구현

이번에는 ROI(관심 영역) 자르기와 저장 기능을 WPF OpenCV 프로젝트에 구현해 보죠.지난 포스팅에서 OverlayCanvas를 이용해 ROI를 그릴 UI 뼈대를 만들었습니다. 이제 그 뼈대에 살을 붙여 실제로 작동하는 코드를 만들 차례입니다.오늘은 작업량이 좀 있습니다. 특히 마지막 좌표 계산 부분은 중요하니 끝까지 잘 따라와 주세요! Model: OpenCVService에 자르기 기능 추가 영상 처리에서 관심 영역을 잘라내는 것을 **크롭(Crop)**이라고 하죠? … 더 읽기