1. 목적
영상 전처리 기능중 하나인 이진화기능을 C#의 OpenCVSharp으로 구현하여 테스트 한다.
2. 진행사항
1) 프로그램 프로세스
순서 | 설명 |
입력이미지 취득 | 이미지를 취득한다. |
이미지 그레이 스케일 변환 | 이진화 과정을 거치기 전에 컬러를 무채색으로 변환 한다. |
이진화 스레스홀드 설정 및 이진화 변환 | 무채색으로 변환된 이미지에 이진화를 적용하기 위한 임계치 파라메타를 설정한후 이진화 한다. |
화면 디스플레이 | 결과를 화면에 디스플레이 한다. |
2) 전체 프로그램 코드
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenCvSharp;
using OpenCvSharp.Extensions;
namespace OpenCV_Binary
{
public partial class Form1 : Form
{
Mat src;
Mat bin;
string path;
public Form1()
{
InitializeComponent();
}
public void Binary()
{
src= new Mat(@"Camera.jpg", ImreadModes.Grayscale);
bin = new Mat();
Cv2.Threshold(src, bin, 150, 255, ThresholdTypes.Binary);
picOutputImg.Image = bin.ToBitmap();
Cv2.WaitKey(0);
}
private void button1_Click(object sender, EventArgs e)
{
Binary();
}
}
}
결과 화면
3) 결론
- OPEN CV 영상처리 라이브러리를 활용하여 이진화 처리를 시켜봄으로써 컬러이미지를 영상획득 후 전처리 과정 중 하나인 이진화과정을 거쳐 측정하고자 하는 부분만 이미지를 필터링 하는 방법에 대해 알게 되었다.
향후 측정하고자하는 영역은 살리고 나머지 필요없는 부분은 제거하여 원하는 부분만 영상에서 취득하는 방법론에 대해 알 수 있다.
'영상처리' 카테고리의 다른 글
엣지 기반 이미지 패턴매칭(Edge based pattern matching) 프로그램 기법 소개(OpenCV 활용) (0) | 2022.04.17 |
---|---|
opencv를 활용한 이미지 외곽선 검출 FindContours 함수 활용 (0) | 2022.02.17 |
opencv를 활용한 이미지 회전(GetRotationMatrix2D 함수 활용) (0) | 2022.02.15 |
open cv를 활용한 이미지 패턴 매칭 구현방법 (0) | 2022.02.13 |
OpenCvShap 프로젝트 만들기(C# 활용) (0) | 2021.02.02 |
댓글