영상처리 21

[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 다루기 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 영상처리 기초 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에 집중분포해 있다면 이 영역만을 확장시켜 주어 밝기나 컨트래스트를 개선할 수 있지만, 전 영역의 픽셀값을 증가시키면 그저 빛바랜 듯한 이미지 결과가 나오기도 합니다..

[MATLAB 영상처리 활용] 검출된 cell(세포) 컬러 하이라이트 주기 - cell extraction

위의 이미지는 Anwer et al., (출처 1) 의 페이퍼에서 제시하는 microglial cell을 기록한 영상파일 입니다. ( 자세한 사항은 본 블로그의 [MATLAB 영상처리 활용] Microglial cell segmentation review를 참조해 주시고, 위의 이미지는 본 블로그 맨밑 출처 1에서 제시하는 이미지로써 이곳에 가셔서 다운로드 받을 수 있습니다. ) 만일 이미지 프로세싱의 목적이 위의 영상에서 microglial cell을 검출(extraction) 하는것이라면, 최종결과 중의 하나로써 검출된 cell(세포)의 위치를 지정된 색상으로 덧입혀 표시하는 결과 이미지일 것입니다. 보통 cell(세포)의 검출에는 black & white mask가 활용되므로 이를 이용해 간단한 예..

[MATLAB 영상처리 활용] Microglial cell extraction/segmentation review - part1

Microglial cell은 뇌신경계에서 일종의 immune cell로 알려져 있으며 최근에 다양한 시각으로 활발한 연구가 진행중입니다. 일반적인 실험/파이프라인 설계는 two-photon 또는 confocal microscope 등으로 microglia immune response의 dynamics 를 이미징 하고나서, 이미지 분석을 통해 의미있는 데이터를 추출하는 순서로 진행합니다. 실험 수행후 수많은 이미지 모음(image-set)을 만들고, 하나의 이미지에서 수많은 유의미한 데이터를 얻을 수 있습니다. 따라서 자동화된 cell 검출 (automatic cell segmentation) 알고리즘/프로그램이 많이 공개되어 왔고 현재에도 계속 발전되고 있습니다. 본 포스트에서는 이미 공개된 micro..

[MATLAB 영상처리 활용] 애니메이션 GIF 만들기 (Animated GIF)

연산중 혹은 연산후 결과 데이터의 시간별 변화/추이를 애니메이션 이미지 파일로써 시각화(visualization) 할 수 있다면 프로그래밍 혹은 디버깅에서 큰 장점을 발휘할 수 있습니다. 간단한 예로써, 정규분포(normal distribution) 그래프 모양을 결정짓는 두가지 입력 파라메터 - sigma, mu - 중 sigma 값의 변화에 따른 그래프 변화를 관찰하고자 합니다. 가장 간단한 방법으로는 여러 sigma 후보값을 설정하고, 그에 따른 여러 그래프를 만들어 화면 가득히 펼쳐보이는 것입니다. 그러나 여러 그래프를 - 그래프간의 적정한 delay 시간을 주어서 - 하나의 애니메이션 이미지로 만들어서 관찰하는편이 효율적일 것입니다. MATLAB 2022a 버전 이상부터는 "exportgraph..

[Python 영상처리 기초 6] 선형 공간 필터링 - Average, Laplacian, Sobel filters

Image processing (영상처리)에서 가장 흔하게 사용되는 기법중의 하나가 이미지 필터링 (image filtering) 입니다. OpenCV에서 기본 제공하는 필터 - Average, Sobel filter 등 - 또는 사용자가 제작한 필터를 이용해 대상 이미지와의 연산(convolution 등)을 통해 새로운 이미지를 생성하는 것을 이미지 필터링(image filtering) 이라고 합니다. 흔히 이미지상의 지정된 부분을 흐릿하게 하거나 대상의 윤곽선(edge)에 강조를 주어 더 선명하게 해주는 기능은 이미지 필터링의 직접적인 역할 입니다. 또한 간접적인 역할로써는, 딥러닝 (deep learning) 네트워크 중 이미지에서 원하는 물체 혹은 대상을 자동으로 검출하는 기능을 하는 CNN (C..