Matlab을 영상처리에 이용하려고 시작했는데 영상처리에 쓸수 있는 Function이 뭐가 있는지조차 잘 모르겠다.
하나씩 찾아가면서 여기에 추가 해놔야지..
OpenCV 같은경우는 정보가 많은데 내가 못찾는건지 영상처리를 위한 Matlab 함수는 정리된걸 못찾겠다.
알고리즘 검증용으로 배우려는 Matlab인데 이걸 다 구현하고 있을순 없고
찾는대로 추가하면서 나중에 찾아 써야겠다.
==========================================================================================================
영상 읽기 쓰기
imread( '파일명' ) // 이미지 파일을 읽는다.
imwrite( image변수, '저장명' ) // 이미지 파일을 저장한다.
영상 보기
imshow( image변수 ) // image변수에 저장된 영상을 보여준다.
픽셀 접근하기
image변수( j,i ) // j 번째행 i 번째열 원소에 접근한다. 이값을 받을수도 여기에 써넣을수도 있다.
영상 전체 변환
image변수 + constant // 전체 픽셀을 constant 만킄 더하여 변화시킨다.
image변수 * constant // 전체 픽셀을 constant 만큼 곱하여 변화시킨다.
double ( image변수 ) // 자료형을 double 로 변환한다. 이는 다른 함수들이 파라미터로 double 을
쓰는경우가 많기 때문에 변환..
uint8( image변수 ) // 자료형을 8비트 정수형으로 변환 C에서의 unsigned char 라고 생각하면 됨
rgb2gray( image변수 ) // rgb 영상을 gray 영상으로 변환
rgb2hsv( image변수 ) // rgb 영상을 hsv 영상으로 변환 - 역변환 가능
rgb2ntsc( image변수 ) // rgb 영상을 yiq 영상으로 변환 - 역변환 가능
rgb2ycbcr( image변수 ) // rgb 영상을 ycbcr 영상으로 변환 - 역변환 가능
mat2gray( matrix ) // matrix 를 gray 영상으로 변환한다. 정확한 값을 얻기위해 사용
히스토그램 관련
imhist( image변수 ) // histogram 을 생성
histeq( image변수 ) // histogram equalization 연산을 수행한다.
이진화 관련
graythresh( image변수 ) // Otsu's Binarization 연산을 수행한다.
Edge Detection 관련
edge( image변수, option ) // Edge를 검출한다.
Option 에 사용 가능한 것들은 아래와 같다.
'sobel' / 'prewitt' / 'roberts' / 'log' / 'zerocross' / 'canny'
선형공간 필터링 관련
fspecial( 'type', [parameters] ) // convolution 연산을 수행하기 위한 마스크를 생성한다.
type 의 종류는 아래와 같다
'average' : 평균값 마스크 생성
'disk' : 원형 평균 필터 마스크 생성
'gaussian' : 가우시안 저주파필터 마스크 생성
'laplacian' : 라플라시안 마스크 생성
'log' : LoG를 위한 마스크 생성
'motion' : 카메라가 선형으로 흔들린효과를 주는 마스크 생성
'prewitt' : 프리윗 엣지 마스크 생성
'sobel' : 소벨 엣지 마스크 생성
'unsharp' : 언샤프닝 마스크 생성
imfilter( image변수, mask, option ) // 마스크를 이용하여 영상에 convolution 연산을 수행한다.
비선형공간 필터링 관련
ordfilt2( image변수, index, size ) // size ( ex- 3x3 ) 안 값중 index 번째 번 값으로 채움
ex) ordfilt2( img, 5, ones(3,3) ) ==> median filtering
근데 얘는 아직 잘 이해가 안된다..
잡음 생성 관련
imnoise( image변수, 'type' ) // 영상에 잡음을 생성한다 사용되는 타입은 아래와 같다
'gaussian' / 'localvar' / 'poisson' / 'salt & pepper' / 'speckle'
모폴로지 관련
imerode( image변수, size ) // 침식 연산을 수행한다. size 대신 strel 함수로 생성된 값이 들어가기도 한다.
imdilate( image변수, size ) // 팽창 연산을 수행한다.
imopen( image변수, size ) // 열림 연산을 수행한다.
imclose( image변수, size ) // 닫힘 연산을 수행한다.
기하학 변환 관련
imresize( image변수, scale, 'interp' ) // 영상 크기를 변환한다. interpolation option은 다음과 같다
'nearest' / 'bilinear' / 'bicubic'
imrotate( image변수, angle, 'interp', box ) // 영상을 회전 시킨다. box는 회전후 영상 전체를 표시할지 원영상
사이즈에 맞춰서 자를지를 결정하는 옵션이다.
==================================================================================================
이거 말고도 함수들은 무진장 많은데 아직 모르는것들은 안썼다.
help help 를 입력해보면 맨밑에 Reference page in Help browser 가 보인다
아래에 Doc Help 를 누르면 브라우저가 뜨는데 여기서 왠만큼 찾아 볼 수 있다.
영상 처리 관련된 함수들은 Image Processing Toolbox - Function 에서 찾아 볼 수 있으니 필요한건 여기서 찾아보는걸로...
'Programming > Matlab' 카테고리의 다른 글
plot 관련 명령어 모음. (0) | 2014.04.13 |
---|---|
[matlab] mfile을 이용하여 function을 만들어보자. (0) | 2014.01.16 |
Matlab 에서 사용되는 주요 함수 모음. (0) | 2013.12.31 |