그들은 파이썬에서 분리 가능한 필터를 사용하여 2D 가우스 평활화를 구현하도록 요청했습니다. 어떻게 해야할지 모르겠다. 사실 1D와 2D 가우시안 스무딩과의 차이점을 알지 못한다. 어디에서 더 많은 정보를 얻을 수 있습니까?가우시안 평활화 필터
덕분에 당신은 Python Imaging Library 볼 수 있습니다 많은
그들은 파이썬에서 분리 가능한 필터를 사용하여 2D 가우스 평활화를 구현하도록 요청했습니다. 어떻게 해야할지 모르겠다. 사실 1D와 2D 가우시안 스무딩과의 차이점을 알지 못한다. 어디에서 더 많은 정보를 얻을 수 있습니까?가우시안 평활화 필터
덕분에 당신은 Python Imaging Library 볼 수 있습니다 많은
.
기본 아이디어는 다음과 같습니다. 이미지가 있고 커널이라고하는 것이 있습니다. 그런 다음 커널/필터로 이미지를 처리합니다. 이렇게하면 원본 이미지의 각 픽셀에 커널을 적용하고 결과를 대상 이미지에 추가하여 만든 새 이미지가 만들어집니다.
Image Filter에서 몇 가지 변경 사항을 통해 사용자 정의 커널을 만드는 방법을 명확하게하고 이미지를 처리하십시오. 나는이 시도하지 않은, 그래서는 의사로 간주해야합니다 귀하의 경우
import ImageFilter
customKernelData = (0.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 0.0)
customKernel = ImageFilter.Kernel((3,3), customKernelData)
im = im.filter(customKernel)
하면 데이터가 정말 2D 가우스 데이터 인 커널을 사용하는 것이다.
가우시안 평활화 연산자 '흐림의 이미지를 사용하고 디테일 및 노이즈를 제거하는 2 차원 컨볼 루션 연산자 : 2D 필터링에 대한
토마스, 당신은 가우스 2D 커널의 분리에 대한 질문에 대답하지 않습니다. 여기에서 분리 가능하다는 것은 컨볼 루션 (convolution)을 통해 2D 커널을 적용하는 대신 벡터를 가로 방향으로 그리고 수직 방향으로 독립적으로 적용 할 수 있다는 것을 의미합니다. 따라서 이미지에 똑같은 효과가 나타납니다. – CTZStef
나는 그것에 대해 잊어 버렸다. 그런 다음 [가장 빠른 2D 컨볼 루션 또는 Python의 이미지 필터] (http://stackoverflow.com/questions/5710842/fastest-2d-convolution-or-image-filter-in-python)에 대한 답변이 더 좋습니다. – Thomas
.
이미지 작업시 - 주변 픽셀의 값을 고려한 주어진 픽셀의 새 값을 계산하는 연산입니다. 주요 요소는 회선 커널입니다.
Сonvolution 커널 - 매트릭스 (임의 크기가 가장 자주 디폴트 (정방 행렬을 사용하는, 3 × 3)
[] [] []
[] [K] []
[] []
회선은 매우 간단하게 작동 : 선택된 화소의 새로운 값을 계산할 때 는 컨벌루션 커널의 중심 화소하여인가되는 이웃 화소가 동일한 커널로 덮여 다음 합을 계산한다.. 이미지 내의 픽셀의 곱을 컨볼 루션 커널의 값과 비교한다. 지정된 픽셀을 덮습니다. 결과 합계는 선택한 픽셀의 새 값입니다. 이제 이미지의 각 픽셀에 컨볼 루션을 적용하면 선택한 컨볼 루션 커널에 따라 특정 효과가 발생합니다.
예우리는 다음 이미지 가지고
[47] [48] [49] [] [] [] [] [] [] [] [] []
[47] [50 ] [] [] [] [] [] [] [] [] [] [] [] 42 [] [] [] [] [] [] [] [] [] [] [] [ ]
[] [] [] [] [] [] [] [] [] [] [] []
[0] [1] [0]
[0] [0] [0],960,453,210 [0] [0] [0]
결과가 followinf 방식으로 계산된다 :
결과 = 47 * 0 + 48 * 1 + 49 * 0 + 47 * 0 + 50 * 0 + 42 * 0 + 47 * 0 + 48 * 0 + 42 * 0 = 48
(50)의 값을 화소에 우리의 커널을 적용한 결과 :
[] [] [] [] [] []
[] [] [] [] [] [] [] [] [] []
[] [] [] [] [] [] [] [] [] [] [ ] [] [] [] [] [] [] []
[] [] [] [] [] [] [] [] [] [] [] []
Here은 Gaussian Smoothing에 대한 좋은 설명입니다. 1D 및 2D 가우시안 평활화에 관하여 :
"위의 2 차원 등방성 가우시안에 대한 방정식이 x 및 y 성분으로 분리 가능하기 때문에 사실상 컨볼 루션은 상당히 신속하게 수행 될 수 있습니다. 따라서 2 차원 컨볼 루션을 수행 할 수 있습니다 먼저 x 방향으로 1 차원 가우스를 컨볼 루션 한 다음 y 방향으로 다른 1 차원 가우스를 컨볼 루션합니다. "
appling convolution filter는 site에서 시도 할 수 있습니다.
희망이 도움이 될 것입니다.
귀하의 기본 정의가 무엇인지 모르겠지만 기본적으로는 그 것입니다. [Smoothing 소개] (http://imaging.mrc-cbu.cam.ac.uk/imaging/PrinciplesSmoothing) – Thomas