당신의 문제는 높은 수준의 커널과 회선과 관련이 있다고 믿습니다.
몇 가지 배열이 있다고 가정합니다. 당신이 conv(arr,kernel)
을 할 경우, 다시 편곡을 받아야하므로
arr = np.ones((5,5))
가 그리고 당신은 또한이 경우 일부 2D 컨볼 루션 커널
kernel = [[0,0,0],
[0,1,0],
[0,0,0]]
을 가지고, 그것은, 신원 커널입니다.
커널을 1D 상자 흐림 커널로 변경하면 어떻게 될까요? 이전 값은 1이며, 회선 후에는 1*arr[3,2] + 1*arr[3,3] + 1*arr[3,4] = 3
될 것입니다 -
kernel = [[0,1,0],
[0,1,0],
[0,1,0]]
당신은 arr
다시 흐려 버전, 1.에서 요소 (3,3)
을 고려 피크 즉 배열을 얻을 것으로 기대 안된다. 대신 경우, kernel
그 가운데 열 함께 0.33를 가지고, 각 요소의 1/3을 얻을 것이고, 값이 컨볼 루션 커널의 몇 가지 분류를 구분 1.
남아있을 것 -이다 것과있다 표준화되어 있지 않은 및 그 값은, 부 피크하고 1의 최대 값을 가질 것과, 그리고 (모든 값의 합) 1.
총 에너지의 합을 갖는 단위 에너지 된 것을 거리낌있다 이미지는 비정규 화되거나 단위 피크 커널로 바뀝니다. 단위 에너지 커널로 컨벌루션하면 이미지의 전체 에너지가 전후로 동일하게 유지됩니다.
당신의 코멘트를 해결하려면 다음을
을 각 픽셀은 픽셀 강도 컨 볼빙 된 (convolved) 상대가되도록 '최대 (가우스)'라고하여 가우시안 각 픽셀을 분할하는 방법이 있나요?
밝은 물건 (별)을 어두운 물건 (배경)보다 흐리게 만드는 것이 원하는 경우 자연히 발생합니다. 또는 더 구체적으로 높은 콘트라스트 콘트라스트가 낮은 것보다 흐리게 보입니다. 카메라를 상상해보십시오. DSLR이나 휴대 전화 또는 다른 어떤 것이 될 수 있습니다. 푸른 구름이없는 하늘에 초점이 맞지 않는다면 말할 수 있습니까? 별에 초점이 맞지 않으면 말할 수 있습니까?
회 돌이에서 픽셀의 값에 가중치를 부여하려면 데이터를 복제하고 각 픽셀을 적절한 가중치로 스케일하고 수정 된 데이터를 커널과 콘볼 루션해야합니다.
결과를 슬라이스로 나누면 거의 동일한 효과를 얻지 않겠습니까? – Evert
나는 정말로 모른다. 여기서 내가 믿는 것은 각 요소 (또는 픽셀)에 대해 인접 요소를 가로 질러 확산되는 결과적인 가우시안이 정규화된다는 것입니다. 이 때문에 더 높은 값의 요소는 낮은 값의 픽셀과 다르게 영향을받습니다. 그러나 필요한 것은 요소가 원래 값을 유지하지만 가우스 형식으로 흐리게 확산되어 다른 요소에 전달된다는 것입니다. 컨볼 루션 후 슬라이스로 나누면 각 요소가 하나가 될 것입니다. – user8188120
게시 한 솔루션은 이미 피크 정규화 가우시안과 컨벌루션하는 방법을 보여줍니다. 기본값은 적분 정규화 가우시안과 컨벌루션입니다. 그 밖에 무엇을 원하십니까? 큐브의 각 채널을 부드럽게 만드는 일반적인 사용 사례로 http://spectral-cube.readthedocs.io/en/latest/smoothing.html#spatial- smoothing을 사용하고자 할 수 있습니다. – keflavich