전체 글

image processing

디지털 영상 처리 - 주파수 도메인 필터를 이용한 영상 스무딩

안녕하세요. 지난 포스팅의 디지털 영상 처리 - 주파수 공간 필터링 기초에서는 주파수 공간 필터링의 기본적인 원리와 과정을 알아보았습니다. 오늘은 중앙 영역, 즉 저주파 영역을 통과시키는 저역통과 필터링을 알아보도록 하겠습니다. 저역통과 필터링은 마스크의 모습에 따라서 크게 3가지로 나뉘게 됩니다. 각각 이상적(ideal), Butterworth, 그리고 가우시안 필터입니다. 기본적으로 이상적 필터는 불연속적인 필터링으로 특정 주파수를 아예 0으로 만들어버립니다. 따라서 저희가 정확하게 원하는 주파수 구간만 얻을 수 있기 때문에 "이상적"이라는 말이 붙었습니다. 하지만 지난 포스팅에서도 말씀드렸다싶이 주파수 공간에서의 불연속 지점은 역푸리에 변환에서 무한히 진동하는 물결파동 현상을 발생시키기 때문에 단점..

image processing

디지털 영상 처리 - 주파수 공간 필터링 기초

안녕하세요. 지난 포스팅의 디지털 영상 처리 - 2D DFT 특성 2 에서는 대칭성, 푸리에 스펙트럼과 위상각 그리고 2D 컨볼루션 정리에 대해서 알아보았습니다. 사실 지금까지는 뭔가 디지털 영상 처리와 동떨어진 느낌이 있었을 겁니다. "디지털 영상 처리를 배우러 들어왔는 데 무슨 수학 수식만 이리 많지..."라는 생각이 드셨을 텐데. 오늘 포스팅에서는 지금까지 알아보았던 모든 DFT 정의와 성질을 이용해서 실질적인 주파수 공간에서의 필터링 기법을 알아보도록 하겠습니다. 기본적으로 주파수 공간에서의 필터링의 첫번째 단계는 영상에 이산 푸리에 변환 $\mathcal{F}$를 적용하여 영상 공간에서 주파수 공간으로 변환시키는 것을 시작으로 합니다. 다음에는 어떤 변환 함수를 이용해서 내부적으로 필터링을 수행..

환경 설정

VScode 설치하기(MAC)

안녕하세요. 오늘은 제가 사용하는 MAC에서 VScode를 설치하고 파이썬을 사용하는 방법에 대해서 알아보도록 하겠습니다. 먼저, 아래 링크에 있는 VScode를 받을 수 있는 공식 홈페이지로 들어가줍니다. Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. code.visualstudio.c..

Programming/Python

Opencv 제대로 쓰기[0] - Opencv-python 설치 및 환경설정

안녕하세요. 이번 포스팅부터는 영상 처리 라이브러리 중 아주 유명한 Opencv 설치 및 활용법을 알아보도록 하겠습니다. 해당 포스팅은 opencv tutorial을 참고하여 만들어집니다. 오늘은 간단하게 설치 및 간단한 테스트만 진행해보도록 하겠습니다. 파이썬으로 진행할 예정이기 때문에 새로운 가상환경을 만들어보도록 하겠습니다. conda 관련 명령어 및 가상환경 생성 방법은 제가 이전 포스트에서 자세히 설명하였기 때문에 좀 더 자세한 설명을 원하시는 분들은 아래의 링크를 참조해주시길 바랍니다. 아나콘다 활용하기 - 가상환경 안녕하세요. 오늘은 아나콘다를 설치를 한 뒤 환경설정을 하는 법에 대해서 알아보도록 하겠습니다. 기본적으로 아나콘다를 설치하게 되면 "base" 라는 가상환경이 자동으로 생성되고 ..

image processing

디지털 영상 처리 - 2D DFT 특성 2

안녕하세요. 지난 포스팅의 디지털 영상 처리 - 2D DFT 특성 1에서는 2D DFT와 관련된 몇 가지 성질들에 대해서 알아보았습니다. 큰 줄기만 말씀드리면 공간 샘플 간격과 주파수 샘플 간격 사이의 관계, DFT의 이동 및 회전 특성, 그리고 제일 중요한 주기성에 대해서 알아보았습니다. 여기서 주기성은 일정 주기를 가지고 반복되는 특성을 의미합니다. 이러한 주기성을 활용해서 중앙으로 평행이동하는 과정도 알아보았습니다. 실제로 주파수 공간 필터링에서는 DFT를 적용한 이후 평행이동을 시키는 과정을 필수로 고려하고 있습니다. 오늘은 이러한 특성들에 이어서 나머지 중요한 특성들에 대해서 알아보도록 하겠습니다. 1. 대칭성(Symmetric) 기본적으로 임의의 실수 및 복소수 함수 $w(x, y)$는 우함수..

image processing

디지털 영상 처리 - 2D DFT 특성 1

안녕하세요. 지난 포스팅의 디지털 영상 처리 - 2 변수 함수로의 확장에서는 기존의 1D DFT를 2D DFT로의 확장을 해보았습니다. 또한 1D 샘플링 정리를 2D 샘플링 정리로도 확장을 해보았습니다. 결론적으로는 1D나 2D나 그렇게 큰 차이는 없다는 것입니다. 그저 변수가 하나 더 추가되었다는 점이죠. 오늘은 2D DFT의 더 많은 특성들을 알아보도록 하겠습니다. 소개할 몇몇 특성들은 이후에 디지털 영상 처리에 있어서 중요한 역할을 하기 때문에 알아두는 것이 중요합니다. 1. 공간 및 주파수 간격들간의 관계 혹시 디지털 영상 처리 - 단일 변수 함수의 이산 푸리에 변환(Discrete Fourier Transform)에서 샘플링과 주파수 간격 사이의 관계식을 기억하시나요. 다시 간단하게 정리하면 $..

image processing

디지털 영상 처리 - 2변수 함수로의 확장

안녕하세요. 지난 포스팅의 디지털 영상 처리 - 이산 푸리에 변환과 이산 역푸리에 변환 구현에서는 단변수 이산 푸리에 변환과 이산 역푸리에 변환을 간단하게 구현해보았습니다. 하지만 저희는 디지털 영상을 다루어야하기 때문에 단변수가 아닌 2변수 함수에 대한 이산 푸리에 변환으로 정의를 확장해야합니다. 혹시 아직 임펄스 함수와 임펄스 열에 대한 개념을 기억하고 계신다면 단변수에서도 임펄스 함수에서부터 시작했다싶이 2변수 함수에 대한 DFT 역시 동일하게 시작합니다. 1. 2D 임펄스와 그 선별 특성 두 연속 변수 $t$와 $z$에 대한 2D 임펄스 함수 $\delta(t, z)$는 아래와 같이 정의됩니다. 1D 임펄스 함수와의 차이점은 오직 새로운 변수가 추가되었다는 점과 이제는 변수가 2개이기 때문에 적분..

image processing

디지털 영상 처리 - 이산 푸리에 변환과 이산 역푸리에 변환 구현

안녕하세요. 지난 포스팅의 디지털 영상 처리 - 단일 변수 함수의 이산 푸리에 변환(Discrete Fourier Transform)에서는 DFT를 유도하고 유도한 결과를 샘플링과 주파수 간격 간의 관계에 대해서 설명하였습니다. 오늘은 지난 포스팅에서 설명했던 예제를 함수를 구현해보도록 하겠습니다. 전체 코드는 아래의 제 깃허브 링크를 참고해주시길 바랍니다. github.com/skawngus1111/DIP skawngus1111/DIP Digital Image Processing exercise&code. Contribute to skawngus1111/DIP development by creating an account on GitHub. github.com 함수 자체가 아주 간단하기 때문에 함수 파..

Johns Hohns
Everyday Image Processing