이미지 프로세싱 18

[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..

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

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

[Python 영상처리 기초 5] 이미지의 화질개선 - Normalization, Standardization

앞의 글 [Python 영상처리 기초 3] 이미지의 픽셀값 다루기 에서 BGR 컬러채널을 갖는 이미지의 gray scale 변환을 수행하였습니다. 그리고 gray scale 변환된 이미지 데이터는 기본적으로 uint8 형식을 가짐을 알 수 있었습니다. Normalization 보통 Image Processing은 float (혹은 소숫점) 형식의 이미지 데이터를 다룹니다. 만일 정수형(int 또는 uint)의 픽셀값을 대상으로 사칙연산(곱셈, 나눗셈 등)을 한다면 연산후 소수점 이하의 값은 제거된다거나 표현가능 범위(여기서 uint8는 0 부터 255까지) 를 넘어서는 경우등 연산결과가 이미지상에 제대로 표현할 수 없기 때문입니다. float 등의 소수점 형식의 이미지 데이터는 최소 0부터 최대 1.0 ..