Image Processing 24

[MATLAB 영상처리 기초 1] stack image, image-set 불러오기 (part2) - imread( ), z-projection, imageDatastore( )

Stack image, image-set 불러오기 소개 동영상 Stack image 불러오기 위의 이미지는 인간의 뇌를 MRI(자기공명영상장치)로 촬영한 영상입니다. ( 위 이미지는 본 블로그 맨밑 출처 1에 가셔서 다운로드 받을 수 있습니다.) 인간의 뇌를 수평방향 섹션으로 layer별로 imaging 한것을 하나의 이미지 파일로 담았고, 이것을 stack image 이라고 합니다. 따라서 하나의 stack image에는 여러개의 layer 또는 frame 이미지를 저장하고 있습니다. 대상 이미지의 세부정보, 예를들어 layer의 수, 이미지의 너비, 높이 등을 알기위해 imfinfo( ) 명령어를 사용하였고, 모든 layer 데이터를 하나의 변수에 저장하기 위해 imgSet 변수를 생성하였습니다. 각..

[MATLAB 영상처리 기초 9] BW 이미지의 Objects 다루기 3 - imfill( ), bwareaopen( ), bwboundaries( ), regionprops( )

이번에는 동전들이 포개어지거나 겹쳐있지 않고 서로 떨어진 입력 이미지를 다루어 보겠습니다. 입력 이미지는 밑의 [그림 1] 이미지 모음중 A에 표시되었고 배경이 밝기 때문에 이를 Otsu thresholding 로써 BW이미지로 변환후 픽셀들을 inverse 하였습니다 (B에 표시). 각각의 동전들은 BW이미지에서 쉽게 구분이 되기 떄문에, 이에대한 connected components를 찾는것 또한 쉽습니다. bwconncomp( ) 함수의 입력 파라메터 conn=8로써 적용한 objects 검출 결과는 C에 보여지고 있습니다. ( bwconncomp( )와 labelmatrix( )에 대한 설명은 앞선글 [MATLAB 영상처리 기초9] BW 이미지의 Objects 다루기 1 를 참조해 주십시오 ) B..

[MATLAB 영상처리 기초 9] BW 이미지의 Objects 다루기 2 - imdilate( ), imerode( ), imopen( ), imclose( )

Basic Morphological Operations Morphological operation (형태학적 연산) 은 structuring elements (구조 요소) 라는 것을 원본 이미지 - 주로 흑백인 BW 또는 gray scale 이미지 - 에 적용하여 대상 픽셀과 그 주변의 픽셀들에 연산을 수행하는것을 의미 합니다. 여기서 structuring elements (구조 요소)는 앞서 소개한 선형 공간 필터링 (linear spatial filtering) 에 나오는 kernel 으로써 이해할 수 있습니다. 즉, 이미지의 필터링 과정과 같이 사용자가 원하는/지정한 모양의 kernel 또는 구조 요소를 반복적으로 이동하며 입력 이미지에 적용하여 연산을 수행후 사용자가 요구하는 결과 이미지를 얻을때..

[MATLAB 영상처리 기초 9] BW 이미지의 Objects 다루기 1 - bwconncomp( ), labelmatrix( ), regionprops( ), bwarea( )

BW 이미지의 Objects 다루기 소개 동영상 이진화된 이미지(Black & White)는 0, 1 단 두개의 픽셀값을 가집니다. 따라서 검정색과 흰색으로 이미지를 표현하며 - 예를들어 [0, 1] 사이의 - contrast, brightness 등은 표현이 불가합니다. BW 이미지는 주로 물체의 mask 또는 이미지상의 물체검출 (objects extraction/segmentation) 등에 주로 사용되며 본 블로그의 [MATLAB 영상처리 활용] 검출된 cell(세포) 컬러 하이라이트 주기 - cell extraction 에서 그 예를 찾아볼 수 있습니다. RGB컬러 또는 gray scale 이미지의 BW변환은 별도의 주제로써 - [MATLAB 영상처리 기초3] 이미지의 픽셀값 다루기 - Bina..

[Python 영상처리 기초 8] Affine Transformations

Affine transformations 은 하나의 이미지 공간에서 다른 공간으로의 매핑으로써 영상처리에서 흔하게 쓰이는 변환중의 하나입니다. 이미지의 확대/축소, 회전, 이동, 반사 등이 affine transformations 의 예입니다. 밑의 affine transformation (T) (출처1)에서 보듯이 입력공간 또는 이미지 [x, y]을 대상으로 사용자가 지정한 2x3 크기의 transformatin matrix (M)의 값에 따라 회전, 반사 등의 변환 또는 매핑을 수행할 수 있습니다. 본 포스트에서는 이미지의 (확대/축소를 제외한) 변환을 transformation matrix인 M에 의해 연산할수 있음을 보입니다. OpenCV에서의 afffine transformations의 모양은 ..

[MATLAB 영상처리 기초 8] Affine Geometric Transformation - affine2d( ), imwarp( )

Affine Geometric Transformation 소개 동영상 Affine geometric transformation 은 하나의 이미지 공간의 점, 선, 면의 특징을 유지한채 다른 공간으로의 선형 매핑(linear mapping)을 의미하며, 영상처리에서 흔하게 쓰이는 변환중의 하나입니다. 이미지의 확대/축소, 회전, 이동, 반사 등이 그 예입니다. 밑의 affine transformation matrix에 보듯이 입력공간을 대상으로 사용자가 지정한 변환 또는 매핑을 수행한 결과로 출력공간이 생성됩니다. 3x3 크기의 매트릭스를 affine matrix 라 부르며, 매트릭스의 값에 따라 앞서 말한 입력공간에 대한 확대/축소, 회전 등의 변환이 가능합니다. 이미지의 변환(transformation..

[Python 영상처리 기초 7] 이미지의 화질개선 Contrast-Brightness-Gamma - part2

앞선글 [Python 영상처리 기초 7] 이미지의 화질개선 Contrast-Brightness-Gamma - part1 에서는 주로 이미지의 brightness 개선에 주목 했다면 본 글에서는 contrast 개선을 다루겠습니다. 앞서 언급했듯이 brightness와 contrast 는 긴밀한 관계이지만 선형적인 상관관계를 갖지 않습니다. 따라서 contrast가 조정됨과 동시에 brightness가 달라질 수 있고, 반대의 경우도 가능합니다. Contrast 개선 이번에도 위의 예제 이미지의 gray scale 이미지를 바탕으로 contrast 개선에 주목하겠습니다. 위의 이미지는 본 블로그 맨밑 출처 1에 가셔서 다운로드 받을 수 있습니다. 첫 번째로 이미지 픽셀값의 normalization을 통한 ..

[Python 영상처리 기초 7] 이미지의 화질개선 Contrast-Brightness-Gamma - part1

앞서 [Python 영상처리 기초 4] 이미지의 픽셀값 다루기 - Crop, 선형연산 에서 보았듯이, 픽셀값을 증가시키면 이미지의 밝기가 밝아짐을 알 수 있습니다. import cv2 import numpy as np import matplotlib.pyplot as plt %matplotlib inline img_color = cv2.imread('national-cancer-institute-jdfn7Z03Qa4-unsplash.jpg',cv2.IMREAD_COLOR) img_gray = cv2.cvtColor(img_color,cv2.COLOR_BGR2GRAY) start_pt = [1210, 753] # [y, x-axis] or (y, x-axis), both are fine end_pt = [..

[MATLAB 영상처리 기초 7] 이미지의 화질개선 Contrast-Brightness-Gamma - part2 (Contrast Stretching)

이미지의 brightness & contrast 개선 소개 동영상 앞선글 [MATLAB 영상처리 기초 7] 이미지의 화질개선 Contrast-Brightness-Gamma - part1 에서는 주로 이미지의 brightness 개선에 주목 했다면 본 글에서는 contrast 개선을 다루겠습니다. 앞서 언급했듯이 brightness와 contrast 는 긴밀한 관계이지만 선형적인 상관관계를 갖지 않습니다. 따라서 앞의 글에서 예제 이미지의 brightness를 개선 했어도 contrast 또한 어느정도 개선이 이루어진 것입니다. 이번에도 위의 예제 이미지의 gray scale 이미지를 바탕으로 contrast stretching 을 통해 contrast 개선에 주목하겠습니다. 첫 번째로 이미지 픽셀값의 n..

[MATLAB 영상처리 기초 7] 이미지의 화질개선 Contrast-Brightness-Gamma - part1

이미지의 brightness & contrast개선 소개 동영상 앞서 [MATLAB 영상처리 기초 4] 이미지의 픽셀값 다루기 - Crop, 선형연산 에서 보았듯이, 픽셀값을 증가시키면 이미지의 밝기가 밝아짐을 알 수 있습니다. img_gray_crop_UP = img_gray_crop .* 1.7; % intensity 70% UP 단순히 픽셀값을 증가시킨다면 이미지의 Global 픽셀값들이 증가하므로 원하지 않는 결과를 얻을 수 있습니다. 예를들어 ROI (region of interest) 의 픽셀값 분포가 높거나 낮은 intensity에 집중분포해 있다면 이 영역만을 확장시켜 주어 밝기나 컨트래스트를 개선할 수 있지만, 전 영역의 픽셀값을 증가시키면 그저 빛바랜 듯한 이미지 결과가 나오기도 합니다..