본문 바로가기
[C#] OpenCvSharp 이미지 컨투어(윤곽선) 찾기 안녕하세요 요즘은 매일 OpenCvSharp 포스팅 자료 만들기 하는냐고 하루가 다 가는거 같네요 인터넷을 보고 따라하고 분석하고 오류 수정하고 그러고 실행해서 결과 분석하고 그 과정을 캡쳐 캡쳐 하여 포스팅 준비를 합니다 제 글을 보시는 분들이 작은 정보를 하나라도 더 알아가시게 하기 위해 노력합니다ㅎㅎ (광고 눌러달라고 구걸하는 겁니다ㅋㅋㅋ) 이번 포스팅 역시 기존 포스팅들과 연계되어 진행 되니 처음 오신분들이나 이해가 잘 되지 않는 분들은 첫 포스팅 부터 읽어 보시기 바랍니다 https://codingman.tistory.com/49 [C#]OpenCvSharp 라이브러리 사용하기 #1 안녕하세요 저번 포스팅에 C#으로 OpenCvSharp 라이브러리를 등록하여 구현하는 포스팅을 준비하던중에 Ope.. 2020. 1. 8.
[C#] OpenCvSharp 사용자 지정 마스크 사용하기 안녕하세요 벌써 OpenCvSharp를 공부한지 1달정도 되어 가는거 같네요 너무 범위가 넓어서 하나씩 하나씩 하자는 마음으로 시작했는데 끝이 안보이니깐 의욕이 점점 떨어지네요ㅎ 저번시간에 모폴로지에 대해 포스팅 했는데 이번시간에는 OpenCv의 Filter2D() 함수를 사용해서 사용자 지정 마스크 기능들을 구현해 볼려고 합니다 사용자 지정 마스크는 Filter2D의 함수를 어떻게 사용하는냐에 따라 지정될수 있습니다 [주요 함수 설명] C# : Filter2DCv.Filter2D(s1, temp, b, new CvPoint(-1, -1)); s1 : 이미지 temp : 대상이미지 b : 커널 행렬 new CvPoint(-1, -1) : 커널 앵커 C# : ThresholdCv.Threshold(temp.. 2020. 1. 8.
[C#] OpenCvSharp 이미지 모폴로지 연산 처리하기 안녕하세요 이번 OpenCvSharp를 이용한 포스팅에서 다룰 연산은 모폴로지 연산 입니다 모폴로지는 영상이나 이미지의 화소값을 이용하여 이미지의 형태학적 작업을 할 수 있습니다 [*모폴로지 연산의 종류와 간단한 설명] 팽장(Dilate) - 255값의 화소가 부풀어서 커지는것 침식(Erode) - 255값의 화소가 깎이는 것 열기연산(Opening) -작은 흰 점들을 없앤 뒤 큰 덩어리들은 다시 원래 크기로 키우는 연산 닫기연산(Closing) - 약간 떨어진 선이나 공간을 잇거나 채우고 난 뒤 전체 크기를 원래대로 줄이는 연산 그라디언트연산(Gradient) - 영역의 외곽선만 남기는 효과를 주는 연산 탑햇연산(TopHat) - 열기연산(Opening)이 수행된 부분을 빼내는 연산 블랙연산(Balck.. 2020. 1. 7.
[C#] OpenCvSharp 이미지 옵티컬플로우 처리하기 안녕하세요 이번 포스팅은 OpenCvSharp로 이미지 옵티컬플로우 처리를 해보도록 하겠습니다 일단 옵티컬플로우가 무엇인지 알아야 이해가 빠를거 같은데요 저도 배우고 있는 단계라 정확한 정의는 못 내리겠습니다ㅠ 다만 제가 공부한걸로는 옵티컬플로우는 광류 또는 광학 흐름 뭐 이렇게 표현을 하더라구요 제가 이해한것을 쉽게 풀어서 설명을 하자면 영상이나 이미지의 역학적인 흐름을 표시하는겁니다 현재 프레임과 다음 프레임간의 매칭을 통해 어떠한 변화를 캣치해서 그걸 선이나 원으로 흐름을 표시하는것이죠 검색을 해보니 보통 이미지 보다는 영상쪽에서 많이 사용하는 기능같습니다 예를들면 현재 모습과 다음 모습을 비교했을때 이것이 동일한 위치에서 찍힌 이미지인지 판단을 하고 싶다고 했을때 옵티컬플로우로 이미지를 처리하게 .. 2020. 1. 7.
[C#] OpenCvSharp 이미지 직선 검출하기 안녕하세요 이번 포스팅은 저번 포스팅(코너검출)에 이어 직선을 검출하는 기능을 구현해 보도록 하겠습니다 저번 포스팅에 대한 정보를 확인하고자 한다면 아래의 링크를 확인하시기 바랍니다 https://codingman.tistory.com/60 [C#] OpenCvSharp 이미지 코너 검출하기 안녕하세요 이번 포스팅은 불러온 이미지에서 CornerMinEigenVal을 이용한 코너 검출 그리고 CornerHarris를 이용한 코너 검출을 포스팅 해볼려고 합니다 일단 포스팅을 읽기에 앞서 OpenCvSharp에 대해서 공부하.. codingman.tistory.com 이번 포스팅에서는 직선 검출을 해볼껀데요 OpenCv에서 직선 검출시 사용할 함수는 바로 HoughLines2()함수 입니다 [함수 설명] C.. 2020. 1. 6.
[C#] OpenCvSharp 이미지 코너 검출하기 안녕하세요 이번 포스팅은 불러온 이미지에서 CornerMinEigenVal을 이용한 코너 검출 그리고 CornerHarris를 이용한 코너 검출을 포스팅 해볼려고 합니다 일단 포스팅을 읽기에 앞서 OpenCvSharp에 대해서 공부하면서 연결해서 포스팅 중인데 이미지를 불러오는 방법이나 이미지 처리에 관련된 기본 포스팅은 아래 링크를 통해 확인하시기 바랍니다 연제성 포스팅이기 때문에 해당 본문 내용이 다소 생략될수 잇으니 양해 바랍니다 https://codingman.tistory.com/49 [C#]OpenCvSharp 라이브러리 사용하기 #1 안녕하세요 저번 포스팅에 C#으로 OpenCvSharp 라이브러리를 등록하여 구현하는 포스팅을 준비하던중에 OpenCv 3,4 버전에서 오류가 발생하는 문제가 .. 2020. 1. 6.
[C#] OpenCvSharp 이미지처리(회전, 축소, 확대) 하기 안녕하세요 이번 시간에는 OpenCv를 통한 이미지 회전, 축소, 확대 기능을 만들어 볼려고 합니다 해당 기능을 구현하기 위해서 OpenCvSharp 라이브러리 등록부터 알아봐야 하는데 아래 링크를 통해 확인해 보시기 바랍니다 https://codingman.tistory.com/49 [C#]OpenCvSharp 라이브러리 사용하기 #1 안녕하세요 저번 포스팅에 C#으로 OpenCvSharp 라이브러리를 등록하여 구현하는 포스팅을 준비하던중에 OpenCv 3,4 버전에서 오류가 발생하는 문제가 있다는 얘길 듣고 부랴부랴 포스팅 내용을 검토해봤는데 역시.. codingman.tistory.com 그러면 해당 기능을 사용하기 위한 메뉴 등록부터 진행 하겠습니다 [디자인] - 다음과 같이 Menu에 이미지처리.. 2019. 12. 30.
[C#] OpenCvSharp 얼굴검출 기능 구현하기 안녕하세요 이번 포스팅은 OpenCvSharp을 이용한 이미지 얼굴 검출 기능 입니다 포스팅에 앞서 준비물이 필요합니다 1. haarcascade_frontalface_alt.xml 파일을 다운로드 받아 해당 Degub 폴더에 삽입해주세요. 자 이렇게 준비물이 준비가 완료가 되셨다면 아래 단계를 따라해 주세요 [디자인] - 메뉴에 얼굴검출 메뉴를 등록해 주세요 [Source Code] - 해당 메뉴에 클릭이벤트를 기능을 만들어 주세요 private void haar얼굴검출ToolStripMenuItem_Click(object sender, EventArgs e) { using (Face FA = new Face()) using (IplImage temp = FA.FaceDetect(src)) { resu.. 2019. 12. 30.
[C#] OpenCvSharp 히스토그램 적용 하기 안녕하세요 이번 포스팅은 OpenCv를 통한 히스토그램을 확인 할 수 있는 히스토그램 적용하기 입니다 히스토그램이 뭔지 저도 잘 몰랐는데요 이번에 OpenCv를 공부하면서 생소한 이미지 관련 용어들을 많이 접하게 되네요 일단 구글에서 정의하는 히스토그램이란? 『도수 분포표의 하나. 가로축에 계급을, 세로축에 도수를 취하고, 도수 분포의 상태를 직사각형의 기둥 모양으로 나타낸 그래프. 주상 도표(柱狀圖表).』 이렇게 정의하고 있습니다 무슨말인지..도통 감이 안오는데요.. 그래서 좀 더 구체적으로 검색을 해봤습니다 역시 어렵네요ㅎㅎ 좀 더 폭풍 검색을 해서 좀 더 이해가 쉬운 포스팅을 가져 왔습니다 1. 히스토그램이란? 히스토그램은 이미지를 구성하는 픽셀값 분포에 대한 그래프입니다. X축은 픽셀값으로 범위는.. 2019. 12. 30.