일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- R
- 인공지능
- Artificial Intelligence
- 딥러닝
- 확률
- node.js
- probability
- No SQL
- 김양재
- 통계
- 김양재 목사님
- 빅데이터
- 주일설교
- 몽고디비
- 데이터 과학
- nodeJS
- data science
- openCV
- c++
- WebGL
- 빅 데이타
- Statistics
- 빅데이타
- 김양재 목사
- Machine Learning
- Big Data
- Deep learning
- MongoDB
- 빅 데이터
- 우리들교회
- Today
- Total
목록이미지 프로세싱 (8)
Scientific Computing & Data Science
Edge를 검출하기 위한 Operator로써 Sobel, Prewitt, Robert, Scharr 등이 있는데 이들은 모두 1차 미분을 기반으로 하고 있습니다. 2차 미분값을 이용하여서도 Edge를 검출할 수가 있는데 이는 일반적으로 Edge에서 2차 미분값이 0이 되기 때문입니다. 그러나, 2차 미분값이 0이 된다고해서 반드시 Edge라는 보장은 없습니다. Edge가 아닌 곳에서도 2차 미분값이 0이 될 수 있는 가능성이 있기 때문입니다.TheoryLaplacian Operator는 2차 미분 Operator로써 다음과 같이 정의됩니다: \( \nabla^2 = \nabla \cdot \nabla = \begin{bmatrix} \displaystyle{ \frac{\partial}{\partial ..
Gaussian Blur는 Gaussian Function을 이용하여 이미지를 블러링하는 기법입니다. Gaussian Function으로부터 계산된 Mask를 통해 각 픽셀에 대한 주변의 픽셀 집합과 회선처리(Convolution)하여 새로운 픽셀값으로 저장합니다. 이 때, 각 코너 및 엣지(Edge)의 픽셀에 대하여서는 회선처리를 할 수 있는 충부한 Element들이 확보되지 않으므로, 엣지를 동일하게 복사하거나 확보되는 element들에 대해서만 회선처리를 할 수 있습니다. 회선처리를 위한 Gaussian Function은 다음과 같습니다: \( G(x,y) = \displaystyle{ \frac{1}{2 \pi \sigma^2} e^{- \displaystyle{ \frac{x^2 + y^2}{2..
MATLAB CODE: "Laplacian.m" function Laplacian %% read an image img = imread('.\res\test_01.jpg'); img = rgb2gray(img); subplot(2,1,1); imshow(img); mask = [0 -1 0 ; -1 4 -1 ; 0 -1 0]; %mask = [1 1 1 ; 1 -8 1 ; 1 1 1]; %mask = [-1 -1 -1 ; -1 8 -1 ; -1 -1 -1]; [rSize, cSize] = size(mask); [nrow, ncol] = size(img); img = cast(img, 'double'); newImg = zeros(nrow,ncol); % Corners subMask = mask(2:3,2..
MATLAB CODE: "HomogeneityOperator.m" function HomogeneityOperator %% read an image img = imread('./res/test_02.jpg'); imshow(img); img = rgb2gray(img); subplot(2,1,1); [nrow, ncol] = size(img); img = cast(img, 'double'); newImg = zeros(nrow,ncol); % Corners i = 1; j = 1; tmp(1) = abs(img(i,j) - img(i,j+1)); tmp(2) = abs(img(i,j) - img(i+1,j+1)); tmp(3) = abs(img(i,j) - img(i+1,j)); newImg(i,j) =..
MATLAB CODE: "Sharpening.m"function Sharpening %% read an image img = imread('./res/test_02.jpg'); img = rgb2gray(img); subplot(2,1,1); imshow(img); %mask = [-1 -1 -1 ; -1 9 -1 ; -1 -1 -1]; mask = [0 -1 0 ; -1 5 -1 ; 0 -1 0]; [rSize, cSize] = size(mask); [nrow, ncol] = size(img); img = cast(img, 'double'); newImg = zeros(nrow,ncol); % Corners subMask = mask(2:3,2:3); i = 1; j = 1; subMat = img(i..
MATLAB CODE: "Gaussian.m"function Gaussian %% read an image img = imread('./res/test_02.jpg'); img = rgb2gray(img); subplot(2,1,1); imshow(img); mask = [1/16 1/8 1/16 ; 1/8 1/4 1/8 ; 1/16 1/8 1/16]; [rSize, cSize] = size(mask); [nrow, ncol] = size(img); img = cast(img, 'double'); newImg = zeros(nrow,ncol); % Corners subMask = mask(2:3,2:3); i = 1; j = 1; subMat = img(i:i+1,j:j+1); newImg(i,j) = ..
MATLAB CODE: "Blurring.m"function Blurring %% read an image img = imread('./res/test_01.jpg'); img = rgb2gray(img); subplot(2,1,1); imshow(img); mask = (1/9)*ones(3,3); [rSize, cSize] = size(mask); [nrow, ncol] = size(img); img = cast(img, 'double'); newImg = zeros(nrow,ncol); % Corners subMask = mask(2:3,2:3); i = 1; j = 1; subMat = img(i:i+1,j:j+1); newImg(i,j) = sum(sum(subMask.*subMat)); sub..
MATLAB CODE: "Embossing.m"function Embossing %% read an image img = imread('./res/test_01.jpg'); img = rgb2gray(img); subplot(2,1,1); imshow(img); mask = [-1 0 0 ; 0 0 0 ; 0 0 1]; [rSize, cSize] = size(mask); [nrow, ncol] = size(img); img = cast(img, 'double'); newImg = zeros(nrow,ncol); % Corners subMask = mask(2:3,2:3); i = 1; j = 1; subMat = img(i:i+1,j:j+1); newImg(i,j) = sum(sum(subMask.*su..