안녕하세요. 지난 포스팅의 MMCV Segmentation 입문기 1에서는 MMCV Segmentation 라이브러리를 사용하기 위한 설치 과정과 제대로 설치되었는 지 확인해보는 시간을 가졌습니다. 오늘은 MMCV Segmentation을 사용하기 위한 기본적인 지식을 배워보도록 하겠습니다. 1. Training Model Example 기본적으로 MMCV Segmentation을 이용한 학습은 tools 폴더에 있는 dist_train.sh 파일을 이용해야합니다. 이와 함께 넘겨줘야하는 것은 가장 중요한 configuration 파일이죠. MMCV Segmentation은 이 configuration 파일로 모든 설정을 맞추어줄 수 있으니 이후에 더 자세히 알아보도록 하겠습니다. 기본적인 학습 코드는 ..
안녕하세요. 최근에 Segmentation 연구를 시작하면서 최신 논문들을 살펴보면 MMCV Segmentation이라는 라이브러리를 다들 애용하는 것을 볼 수 있었습니다. 그런데 저는 완전히 처음보는 라이브러리라서 해석하기도 어렵고 활용하는 것도 어려워서 이참에 블로그 글로 정리해서 두고두고 보도록 하겠습니다. ^^ 1. MMCV Project 먼저, MMCV는 OpenMMLab이라는 오픈소스 프로젝트팀이 만들어낸 새로운 딥러닝 라이브러리입니다. 기본적으로 Pytorch 기반으로 동작하기 때문에 기존에 Pytorch 유저시라면 보다 쉽게 활용해볼 수 있겠네요. MMCV는 심층신경망 모델을 학습 및 평가하는 데 있어 필수적인 요소들을 모두 다 갖춘 라이브러리라고 합니다. 실제로 segmentation에서..
안녕하세요. 지난 포스팅의 Opencv 제대로 쓰기[5].영상 샤프닝에서는 영상으로부터 엣지를 얻은 뒤 샤프닝을 적용하는 방법에 대해서 알아보았습니다. 오늘은 영상으로부터 opencv를 이용해서 히스토그램을 추출하고 히스토그램 평활화하는 방법에 대해서 알아보겠습니다. 오늘도 전체 코드는 아래의 깃허브를 참조해주시길 바랍니다. skawngus1111/opencv-python-tutorial Contribute to skawngus1111/opencv-python-tutorial development by creating an account on GitHub. github.com 가장 먼저 해볼것은 영상으로부터 히스토그램을 추출하는 것입니다. 디지털 영상에서 히스토그램이란 밝기가 어느정도 분포해있는 지 알 ..
안녕하세요. 지난 포스팅의 Opencv 제대로 쓰기[4].흐림 처리에서는 opencv를 이용한 2D 필터링을 할 수 있는 함수인 cv2.filter2D, 박스 필터링을 적용하는 함수인 cv2.blur, 가우시안 블러링을 적용하는 함수인 cv2.GaussianBlur 들에 대해서 알아보고 커널의 크기나 분산의 크기를 바꾸는 등 주요 파라미터들을 바꾸어보면서 어떤 결과가 나오는 지도 알아보았습니다. 이에 이어서 opencv를 이용해서 영상 샤프닝을 수행하는 방법에 대해서 알아보도록 하겠습니다. 영상 샤프닝에 대해서 더 자세히 공부하고 싶으신 분들이나 MATLAB으로 구현을 원하시는 분들은 아래에 이전에 미리 정리해두었던 링크를 참조해주시길 바랍니다. 참고로 본 포스팅에서는 언샤프 마스킹을 구현하지 않았습니다..
안녕하세요. 지난 포스팅의 Opencv 제대로 쓰기[3].외부 카메라 동영상 스크린샷 저장하기에서는 웹캠을 이용해서 핸드폰으로 입력받은 동영상에서 원하는 시점마다 스크린샷을 저장하는 프로그램을 구현해보았습니다. 오늘부터는 본격적으로 영상 처리와 관련된 이야기를 해보려고 합니다. 오늘은 가장 간단한 흐림 처리와 관련된 함수들을 알아보도록 하겠습니다. 기본적인 내용은 아래의 링크에 정리를 해두었으니 코드를 보시기 전에 미리 보고 오시면 더 쉽게 이해할 수 있습니다. 디지털 영상 처리 - 스무딩 공간 필터(Smoothing Spatial Filter) 안녕하세요. 지난 포스팅에서는 디지털 영상처리 - 공간 필터링의 기초에 대해서 알아보았습니다. 이때, 공간 필터링은 결국 영상보다 훨씬 작은 크기의 윈도우 또는..
안녕하세요. 지난 포스팅의 Opencv 제대로 쓰기[2] 에서는 노트북 및 핸드폰 카메라로부터 영상을 불러오는 방법에 대해서 알아보았습니다. 오늘은 이 방법을 활용하여 불러온 외부 카메라 영상을 스크린샷을 저장하는 간단한 방법에 대해서 알아보겠습니다. 전체 코드는 아래의 깃허브 링크를 참조해주시길 바랍니다. skawngus1111/opencv-python-tutorial Contribute to skawngus1111/opencv-python-tutorial development by creating an account on GitHub. github.com 일단 여러분들 컴퓨터 키보드의 스크린샷을 저장하기 위해서 어떤 키를 보통 쓰시나요? 저는 보통 맥북이나 우분투 환경을 주로 쓰고 있는데, 우분투에서..
안녕하세요. 지난 포스팅의 Opencv 제대로 쓰기[1]에서는 컴퓨터 내부에 있는 영상이나 동영상을 불러오는 방법에 대해서 정리했습니다. 이번 포스팅에서는 노트북이나 핸드폰의 카메라로부터 동영상을 불러오는 방법에 대해서 알아보겠습니다. 전체 코드는 아래의 깃허브 링크를 참조해주시길 바랍니다. skawngus1111/opencv-python-tutorial Contribute to skawngus1111/opencv-python-tutorial development by creating an account on GitHub. github.com 시작하기에 앞서 동영상을 불러오고 저장하는 핵심함수들에 대해서 간단하게 정리하고 넘어가도록 하겠습니다. cv2.VideoCapture() (int or str): ..
안녕하세요. 지난 포스팅의 Opencv 제대로 쓰기[0]에서는 환경설정 및 간단한 테스트를 해보았습니다. 오늘은 본격적으로 opencv를 다루어보도록 하겠습니다. 가장 기본이라고 할 수 있는 영상 및 동영상을 불러오고 저장하는 방법에 대해서 알아보도록 하겠습니다. 1. 컴퓨터에 있는 영상 불러오기 및 저장하기 컴퓨터에 있는 영상을 불러오는 것은 지난 포스팅에서 간단하게 테스트 해보았듯이 기본적으로 cv2.imread(fileName, flag)가 기본입니다. 각 입력 파라미터는 아래와 같습니다. fileName (str): 영상 경로 flag (int): 영상을 불러올 때 옵션 Return : 영상 객체 Return Type : numpy.ndarray 여기서 flag 옵션은 다시 한번 3개로 나뉘게 됩..