전체 글 29

[Python 영상처리 기초 4] 이미지의 픽셀값 다루기 - Crop, 선형연산

본 글에서는 이미지의 특정부분을 잘라내기(Crop) 혹은 추출하여 이미지 프로세싱을 수행후 본래 이미지에 붙여넣기 하는 작업을 해보겠습니다. 자동으로 이미지상의 ROI (Region of Interest) 를 추출하여 연산을 수행하는것은 중급과정에서 다룰 예정입니다. 우선 위의 이미지 에서 보이는 특정부분 (흰색 네모상자)을 잘라내기(Crop) 하여 새로운 변수로 지정하여 보겠습니다. 임의로 지정한 좌표 - tuple ( x좌표, y좌표 ) 형식 ( 753, 1210 ) 부터 ( 2115, 2110 ) - 를 입력 파라메터로 하는 cv2.rectangle( ) 명령어를 이용하였습니다. 여기에서 주의할 점은 cv2.rectangle( ) 명령어에서는 ( x좌표, y좌표 ) 순서의 입력 파라메터를 갖지만, ..

[Python 영상처리 기초 3] 이미지의 픽셀값 다루기 - Gray scale, Histogram, Binarization

픽셀 (pixel)은 이미지를 구성하는 기본요소로써 한 그룹의 픽셀들이 점, 선, 면 등을 나타낼 수 있고, 각 픽셀 값에 의해 이미지의 밝기, 명암 등을 나타낼 수 있습니다. (모자이크가 좋은 예 입니다.) 이미지 데이터는 높이(세로) x 폭(가로)의 2차원, 혹은 높이(세로) x 폭(가로) x 색상채널의 3차원 픽셀값 모임이라고 볼 수 있습니다. 3차원 이미지 데이터의 구조는 아래의 오른쪽 그림에 묘사되어 있으며, 앞선 글에서 대상이 되는 3차원의 BGR컬러 이미지 파일을 Jupyter Notebook 에 불러들여 Blue, Green, Red 각각의 색상채널로 분리하는것을 수행하였습니다. 대상 이미지의 픽셀값은 uint8 형식을 따르며 이는 최소 0 부터 최대 255까지 256가지 범위를 갖고, 픽..

[Python 영상처리 기초 2] BGR컬러 이미지의 색상채널분리 - cv2.split( ), cv2.merge( )

위의 대상 이미지는 3차원의 BGR컬러 데이터 (세로픽셀 x 가로필셀 x 색상채널: 4500 x 6000 x 3)를 나타내고, 색상채널은 R(빨강색) G(초록색) B(파랑색)의 데이터를 표현합니다. 위 이미지는 본 블로그 맨밑 출처 1에 가셔서 다운로드 받을 수 있습니다. 위의 대상 이미지가 이미 Jupyter Notebook에 "img_color" 라는 변수에 저장되어 있다고 가정합시다. ( 이미지 파일 불러오기는 본 블로그의 [Python 영상처리 기초 1] 이미지 파일 불러오기 참조 ) import cv2 import matplotlib.pyplot as plt %matplotlib inline # img_color = cv2.imread('path/filename', cv2.IMREAD_COLOR..

[Python 영상처리 기초 1] 이미지 파일 불러오기 - cv2.imread( ), plt.imshow( )

위의 이미지는 3차원의 RGB컬러 데이터 (세로x가로x채널수: 4500 x 6000 x 3)를 나타냅니다. 만일 이미지가 gray scale 혹은 black & white 이라면 2차원 (세로픽셀 x 가로픽셀) 의 데이터를 가지고, 컬러 이미지 라면 3차원 (세로픽셀 x 가로필셀 x 색상채널)의 데이터를 가지며, 색상채널은 B(파랑색) G(초록색) R(빨강색)의 데이터를 표현합니다. ( 주의 하세요! Python에서는 RGB가 아닌 BGR의 순서로 이미지 데이터를 나타냅니다. ) 위 이미지는 본 블로그 맨밑 출처 1에 가셔서 다운로드 받을 수 있습니다. Python에서 이미지 데이터를 다루기 위해 다양한 패키지들이 존재하는데 앞으로 OpenCV를 중심으로 Jupyter Notebook 환경에서 설명하겠습..

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

이미지의 normalization, standardization을 소개하는 동영상 앞의 글 [MATLAB 영상처리 기초 3] 이미지의 픽셀값 다루기 - RGB2Gray 에서 RGB 컬러채널을 갖는 이미지의 grayscale 변환을 수행하였습니다. 그리고 grayscale 변환된 이미지 데이터는 MATLAB에서 기본적으로 uint8 형식을 가짐을 알 수 있었습니다. Normalization 보통 MATLAB에서 Image Processing은 double 형식의 이미지 데이터를 다룹니다. 만일 정수형의 픽셀값을 대상으로 사칙연산(곱셈, 나눗셈 등)을 한다면, 연산후 소수점 이하의 값은 제거된다거나 표현가능 범위(여기서 uint8는 0 부터 255까지) 를 넘어서는 경우등 연산결과가 이미지상에 제대로 표현할..

[MATLAB 영상처리 기초 4] 이미지의 픽셀값 다루기 - imcrop( ), 픽셀 intensity 증가

이미지의 특정영역 잘라내기, 픽셀 intensity 선형연산 소개 동영상 본 글에서는 이미지의 특정부분을 잘라내기(Crop) 혹은 추출하여 이미지 프로세싱을 수행후 본래 이미지에 붙여넣기 하는 작업을 해보겠습니다. 자동으로 이미지상의 ROI (Region of Interest) 를 추출하여 연산을 수행하는것은 중급과정에서 다룰 예정입니다. 우선 위의 figure 창에서 임의로 선택한 특정부분을 잘라내기(Crop) 하여 새로운 변수로 지정하여 보겠습니다. 위의 이미지상에서 2개의 좌표 및 픽셀값 표시, 노란색 네모상자는 각각 figure 툴메뉴 중 Tools -> Data Cursor(+ new Data Cursor), Insert -> rectangle 을 이용하였습니다. ( 본 글의 상단에 있는 소개 ..

[MATLAB 영상처리 기초 3] 이미지의 픽셀값 다루기 - RGB2Gray, Histogram, Binarization(global & adaptive thresholding)

컬러이미지의 grayscale 변환 및 histogram 소개 동영상 픽셀 (pixel)은 이미지를 구성하는 기본요소로써 한 그룹의 픽셀들이 점, 선, 면 등을 나타낼 수 있고, 각 픽셀 값에 의해 이미지의 밝기, 명암 등을 나타낼 수 있습니다. (모자이크가 좋은 예 입니다.) 이미지 데이터는 높이(세로) x 폭(가로)의 2차원, 혹은 높이(세로) x 폭(가로) x 색상채널의 3차원 픽셀값 모임이라고 볼 수 있습니다. 3차원 이미지 데이터의 구조는 아래의 그림에 묘사되어 있으며, 앞선 글에서 대상이 되는 3차원의 RGB컬러 이미지 파일을 MATLAB의 workspace 에 불러들여 Red, Green, Blue 각각의 색상채널로 분리하는것을 수행하였습니다. 대상 이미지의 픽셀값은 - MATLAB에서 기본..

[MATLAB 영상처리 기초 2] RGB컬러 이미지의 색상채널분리 - imsplit( ), reshape( ), imshow( )

RGB 색상채널분리 방법의 소개 동영상 위의 이미지는 3차원의 RGB컬러 데이터 (세로픽셀 x 가로픽셀 x 색상채널: 4500 x 6000 x 3)를 나타내고, 색상채널은 R(빨강색) G(초록색) B(파랑색) 순서의 데이터를 표현합니다. 위 이미지는 본 블로그 맨밑 출처 1에 가셔서 다운로드 받을 수 있습니다. 위의 대상 이미지가 이미 workspace에 "img" 라는 변수에 import 되어 있다고 가정합니다. ( 이미지 파일의 import는 본 블로그의 "[MATLAB 영상처리 기초 1] 이미지 파일 불러오기" 참조 ) img = imread('NCI-jdfn7Z03Qa4.jpg'); 이제는 "img" 변수에 담긴 3차원 컬러 데이터를 각각의 색상채널로 분리하고서 화면에 출력을 시켜봅시다. 단, 색..

[MATLAB 영상처리 기초 1] 하나의 이미지 파일 불러오기 (part1) - imread( ), imshow( )

위의 이미지는 3차원의 RGB컬러 데이터 (세로x가로x채널수: 4500 x 6000 x 3)를 나타냅니다. 만일 이미지가 grayscale 혹은 black & white 이라면 2차원 (MATLAB의 경우; 세로픽셀 x 가로픽셀) 의 데이터를 가지고, 컬러 이미지 이라면 3차원 (MATLAB의 경우; 세로픽셀 x 가로필셀 x 색상채널)의 데이터를 가지며, 색상채널은 R(빨강색) G(초록색) B(파랑색) 순서의 데이터를 표현합니다. 위 이미지는 본 블로그 맨밑 출처 1에 가셔서 다운로드 받을 수 있습니다. 이제 MATLAB에서 이미지를 Workspace로 불러와봅니다. 하나의 이미지를 불러오는 방법은 여러가지가 있고 자주 사용되는 4가지 방법을 소개합니다. MATLAB의 이미지 파일 불러오기 소개 동영상 ..