웹 프론트엔드 PS 튜토리얼 Photoshop Gaussian Blur 필터의 알고리즘 요약

Photoshop Gaussian Blur 필터의 알고리즘 요약

Feb 20, 2017 am 09:40 AM

최근 일부 네티즌들의 가우시안 블러 필터 연구에 깊은 인상을 받아 다음과 같이 정리합니다. 가우시안 블러(Gaussian Blur)는 일종의 디지털 이미지 템플릿 처리 방법입니다. 해당 템플릿은 2차원 정규 분포(가우스 분포) 함수를 기반으로 계산됩니다.
정규분포는 A. Demoivre가 이항분포의 점근식을 구하면서 처음으로 구해졌습니다. C.F. Gauss는 측정 오류를 연구할 때 다른 각도에서 이를 도출했습니다. 추신: Laplace와 Gauss는 그 특성을 연구했습니다. 따라서 가우시안 블러라는 이름이 붙었습니다.

1차원 정규분포의 함수 정의:

Photoshop Gaussian Blur 필터의 알고리즘 요약

확률변수 유형의 분포, 첫 번째 매개변수 μ는 뒤에 오는 확률변수의 평균값입니다. 정규분포에서 두 번째 매개변수 σ2는 이 확률변수의 분산이므로 정규분포는 N(μ, σ2)로 기록됩니다. 정규 분포를 따르는 확률 변수의 확률 규칙은 μ에 가까운 값을 취할 확률이 높고, μ에서 멀어지는 값을 취할 확률이 작을수록 분포가 더 집중된다는 것입니다. 는 μ에 가깝고, σ가 클수록 분포는 작아집니다. 정규분포의 밀도함수의 특징은 μ를 중심으로 대칭이고, μ에서 최대값에 도달하고, 양(음)의 무한대에서 0의 값을 가지며, μ±σ에서 변곡점을 갖는다. 그 모양은 중앙이 높고 양쪽이 낮으며, x축 위에서는 종 모양의 곡선을 이루는 형상이다. μ = 0, σ2 = 1일 때, 이를 표준 정규 분포라고 하며 N(0, 1)로 기록됩니다.

두 상수의 의미: μ-기대값, σ^2 분산.

이제 첫 번째 질문인 가우시안 블러 필터의 반경은 얼마인지 풀어보겠습니다. 답은 공식에서 가우스 반경이 σ라는 것입니다.

가우스 곡선의 모양과 반경의 의미는 다음 그림에 나와 있습니다(Adobe SDK의 기술 지원 전문가 문서에서 발췌).

> 가우스 곡선이 반경(σ)은 곡선의 모양에 영향을 미칩니다. σ가 작을수록 곡선은 더 높고 더 날카로워집니다. 2차원 이미지의 경우 종 모양의 표면입니다. 가우스 반경이 작을수록 표면은 더 높고 날카롭고 가파르고 가우스 반경이 클수록 표면은 더 낮고 완만합니다. 따라서 가우시안 반경이 작을수록 흐림 효과가 작아지고, 가우시안 반경이 클수록 흐림 효과가 커집니다. 가우스 반경에 대한 ps의 범위 정의는 [0.1~250]임을 알 수 있습니다. 반경이 0.1인 경우 계산 후 가우시안 템플릿의 가운데 픽셀만 1이고 나머지 픽셀은 모두 = 0(실제로는 0에 거의 접근)이므로 이미지가 변경되지 않습니다.

두 번째 질문은 가우스 템플릿 크기와 가우스 반경의 관계는 무엇입니까? 이것은 항상 우리를 괴롭히는 오해입니다. 우리의 생각이 물리적 구현에 대한 오해에 빠졌기 때문입니다. 물리적 구현에서 가우스 템플릿은 제한되어 있으므로 이 질문에 대한 실제 대답을 무시하게 됩니다. 가우스 템플릿은 논리적으로 제한되지 않습니다. 즉, 가우스 템플릿은 본질적으로 논리적으로 무한하게 확장된 표면의 근사치입니다. 따라서 템플릿 크기는 무한하다고 간주해야 합니다. 단지 계산 중에 거리가 0에 가까워지기 때문에 더 이상 특정 임계값 아래의 값을 고려하지 않습니다. 이 임계값은 템플릿 경계입니다. Photoshop Gaussian Blur 필터의 알고리즘 요약

다음은 2차원 가우스 표면의 공식입니다(x, y는 픽셀의 템플릿 좌표를 나타내고 템플릿 중심 위치가 원점입니다).

🎜>

즉, g(x,y)= ( 1 / (2*pi*σ^2) ) * exp( -(x^2+y^2)/ (2*σ^2 ) ) ;

이 공식을 기반으로 다양한 반경에서 가우스 템플릿을 계산할 수 있습니다. 실제로 템플릿은 중심에서 멀리 떨어져 0에 접근합니다. 예를 들어, =0.7일 때 r 정규화된 가우스 템플릿을 계산합니다.

Photoshop Gaussian Blur 필터의 알고리즘 요약

高斯模板(guass radius=0.700000)
//Guass 반경=0.700000
0.000000    0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   0.000 000   
0.000000   0.000000   0.000001   0.000012    0.000033   0.000012   0.000001   0.000000   0.000000   
0.000000   0.000001 0.000093   0.001976   0.005481   0.001 976   0.000093   0.000001   0.000000   
0.000000   0.000012   0.001976   0.042189   0.117046   0.042189   0.001976   0.000012   0.000000   
0.000000   0.000033   0.005481   0.117 046   0.324724   0.117046   0.005481   0.000033   0.000000   
0.000000   0.000012   0.001976   0.042189   0.117046   0.042189   0.001976   0.000012   0.000000   
0.00 0000    0.000001   0.000093   0.001976   0.005481   0.001976   0.000093   0.000001    0.000000   
0.000000   0.000000   0.000001   0.000012   0.000033   0.000012   0.000 001   0.000000   0.000000   
0.000000   0.000000    0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   0.000000  

 

        :

         1 2 1

         2 4 2    /16

         1 2 1

실제 검증 결과, 이 3*3 템플릿은 가우스 반경이 약 0.849일 때 실제로 근사치라는 것을 발견했습니다. r=0.849일 때 3*3 정규화된 템플릿은 다음과 같습니다(MATLAB에서는 h=fspecial( 입력). 'gaussian', 3, 0.849); 이 템플릿을 얻으려면):

0.062467 0.125000 0.062467 0.125000 0.250131 0.125000 0.062467 0.125000 0 .062467


그런 다음 Matlab에서 imfilter를 사용하여 이미지에 가우시안 흐림 처리를 수행할 수 있습니다.

img = imread('c:demo.bmp');

h = fspecial('gaussian', 3, 0.849); img2 = imfilter(img, h); subplot(121), imshow(img) title('원본 이미지') subplot(122), imshow(img2); title('가우시안 블러 후')



효과는 다음과 같습니다:

Matlab에서 다음과 같이 사용할 수 있습니다. 가우시안 표면 그리기:

Photoshop Gaussian Blur 필터의 알고리즘 요약

가우시안을 그리는 Matlab 코드 표면

Actipro에서 제작한 코드 강조 표시 CodeHighlighter(프리웨어)http:// www.php.cn/

%

가우시안 블러 표면을 그려보세요!
---------r=
0.849
; %가우스 반경(0.1~250) x=-
3
:0.2:3;y=
x ;
[X,Y]=
메시그리드(x,y);
Z=
exp(
-(X.^2+Y.^ 2)./(2*r *r))/(2*pi*r*r);mesh(X,Y,Z)
효과 사진은 다음과 같습니다:

                                                      >Photoshop Gaussian Blur 필터의 알고리즘 요약 주파수 도메인 곡선에서 볼 수 있듯이 가우시안 블러는 본질적으로 저역 통과 필터입니다. 이미지 처리에 반영되어 이미지 가장자리 등 그레이스케일 변화가 급격한 장소에 해당하는 고주파 정보가 필터링됩니다.

마지막으로 가우시안 블러 템플릿을 계산하기 위한 C 언어 코드를 제공합니다. 가우시안 템플릿은 대칭이므로 실제로는 템플릿의 약 1/4만 계산하면 됩니다. 하지만 여기 코드에서는 그러한 최적화를 수행하지 않았습니다. 우리가 출력하는 템플릿은 (2*N+1)*(2N+1)이고 가우스 반경은 r로 표시됩니다.

가우스 템플릿 계산
#include math.h>
#include
stdio.h>
#define N 3 3 🎜>/ * 템플릿 크기: (2N+1) * (2N+1) */
void main(){

더블a[2*N+1][2*N+1] /* 가우스 template*/
double
r=0.6 /* 가우스 반경: [ 0.1, 250] */ 
더블
A=1/ (2*M_PI*r*r); int
i,j; 
for (i=-1*N;i
N;i++) for
(j=-1*N;j
N;j++ )a[i+N][j+N]=A*exp((-1)*( 나*+j*j) / (2*r*r));
}

동시에 비교를 위해 Matlab에서 Gaussian 템플릿을 생성하는 코드를 제공합니다(fspecial의 코드 부분, 여기서 p3은 3개의 매개변수가 가우스 반경입니다.):

  case 'gaussian' % Gaussian filter

     siz   = (p2-1)/2;  %注:p2即模板边长,默认值为33
     std   = p3;        %注:p3即高斯半径,默认为为0.5
     
     [x,y] = meshgrid(-siz(2):siz(2),-siz(1):siz(1));
     arg   = -(x.*x + y.*y)/(2*std*std);

     h     = exp(arg);
     h(h<eps*max(h(:))) = 0;

     sumh = sum(h(:));  %注:模板归一化
     if sumh ~= 0,
       h  = h/sumh;
     end;
로그인 후 복사

Photoshop 가우시안 흐림 필터의 알고리즘 요약에 대한 자세한 관련 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

소셜 미디어 그래픽을 만들기 위해 Photoshop을 어떻게 사용합니까? 소셜 미디어 그래픽을 만들기 위해 Photoshop을 어떻게 사용합니까? Mar 18, 2025 pm 01:41 PM

이 기사는 소셜 미디어 그래픽을위한 Photoshop, 설정, 설계 도구 및 최적화 기술을 사용하는 세부 사항에 대해 자세히 설명합니다. 그래픽 생성의 효율성과 품질을 강조합니다.

Photoshop의 콘텐츠 인식 필 및 콘텐츠 인식 이동 도구를 효과적으로 사용하려면 어떻게해야합니까? Photoshop의 콘텐츠 인식 필 및 콘텐츠 인식 이동 도구를 효과적으로 사용하려면 어떻게해야합니까? Mar 13, 2025 pm 07:35 PM

기사는 Photoshop의 콘텐츠 인식 필 및 이동 도구를 효과적으로 사용하여 소스 영역 선택, 실수 방지 및 최적의 결과를위한 설정 조정에 대한 팁을 제공합니다.

Photoshop (파일 크기, 해상도, 색상 공간)에서 웹 사용을위한 이미지를 어떻게 준비합니까? Photoshop (파일 크기, 해상도, 색상 공간)에서 웹 사용을위한 이미지를 어떻게 준비합니까? Mar 13, 2025 pm 07:28 PM

기사는 Photoshop에서 웹 사용을위한 이미지 준비, 파일 크기, 해상도 및 색상 공간 최적화에 중점을 둔다. 주요 문제는 빠른로드 시간과 이미지 품질의 균형을 맞추는 것입니다.

Photoshop에서 정확한 색상을 위해 모니터를 어떻게 보정합니까? Photoshop에서 정확한 색상을 위해 모니터를 어떻게 보정합니까? Mar 13, 2025 pm 07:31 PM

기사는 Photoshop의 정확한 색상에 대한 교정 모니터, 교정 도구, 부적절한 교정 효과 및 재 보정 주파수에 대해 설명합니다. 주요 문제는 색상 정확도를 보장하는 것입니다.

PS가 계속 로딩을 보여주는 이유는 무엇입니까? PS가 계속 로딩을 보여주는 이유는 무엇입니까? Apr 06, 2025 pm 06:39 PM

PS "로드"문제는 자원 액세스 또는 처리 문제로 인한 것입니다. 하드 디스크 판독 속도는 느리거나 나쁘다 : CrystalDiskinfo를 사용하여 하드 디스크 건강을 확인하고 문제가있는 하드 디스크를 교체하십시오. 불충분 한 메모리 : 고해상도 이미지 및 복잡한 레이어 처리에 대한 PS의 요구를 충족시키기 위해 메모리 업그레이드 메모리. 그래픽 카드 드라이버는 구식 또는 손상됩니다. 운전자를 업데이트하여 PS와 그래픽 카드 간의 통신을 최적화하십시오. 파일 경로는 너무 길거나 파일 이름에는 특수 문자가 있습니다. 짧은 경로를 사용하고 특수 문자를 피하십시오. PS 자체 문제 : PS 설치 프로그램을 다시 설치하거나 수리하십시오.

Photoshop (해상도, 색상 프로파일)을 사용하여 인쇄 이미지를 준비하려면 어떻게해야합니까? Photoshop (해상도, 색상 프로파일)을 사용하여 인쇄 이미지를 준비하려면 어떻게해야합니까? Mar 18, 2025 pm 01:36 PM

이 기사는 Photoshop에서 인쇄 이미지를 준비하고 해상도, 색상 프로파일 및 선명도에 중점을 둡니다. 300 PPI 및 CMYK 프로파일은 품질 인쇄에 필수적이라고 주장합니다.

Photoshop (파일 크기, 해상도 최적화)을 사용하여 웹에 대한 이미지를 어떻게 준비합니까? Photoshop (파일 크기, 해상도 최적화)을 사용하여 웹에 대한 이미지를 어떻게 준비합니까? Mar 18, 2025 pm 01:35 PM

기사는 파일 크기 및 해상도에 중점을 둔 Photoshop을 사용하여 웹의 이미지 최적화에 대해 설명합니다. 주요 문제는 품질과로드 시간의 균형입니다.

Photoshop에서 애니메이션 GIF를 어떻게 만들려면? Photoshop에서 애니메이션 GIF를 어떻게 만들려면? Mar 18, 2025 pm 01:38 PM

기사는 기존 GIF에 프레임을 추가하는 것을 포함하여 Photoshop에서 애니메이션 GIF를 만들고 최적화하는 것을 논의합니다. 주요 초점은 품질 균형과 파일 크기에 있습니다.

See all articles