2013-11-25 5 views
1

커널 크기가 255보다 크면 다른 사람이 문제가 있습니까?vImageBoxConvolve : 커널 크기가 255보다 클 때 오류가 발생했습니다.

컬러 채널이 오버로드되는 것처럼 보이지만, 커널 크기가> 255 일 때만 오류가 발생합니다. 설명서에는 커널 크기 제한에 관한 내용이 없습니다. 그리고 vImage는 오류를 반환하지 않습니다.

현재, vImageBoxConvolve_ARGB8888을 사용하고 있습니다. 그것은 모든 이미지에서, 특히 흰색 영역에서 발생합니다.

여기 출력입니다 : 왼쪽 상단에 여러 가지 빛깔의 혼란이 정말 밝은 배경입니다 enter image description here

있다.

요즘에는 아무도 모르는 번데기가 들리더라도 이상하게 보입니다.

감사합니다.

+1

너비가 255보다 큰 회선을 사용 하시겠습니까? 이것은 픽셀 단위로 계산할 엄청난 양의 계산입니다. 블러의 경우, 다운 샘플링과 함께 몇 가지 다른 최적화와 결합 된 업 샘플링은이를 극적으로 줄일 수 있습니다. http://www.sunsetlakesoftware.com/2013/10/21/optimizing-gaussian-blurs-mobile-gpu. 나는 다이나믹 레인지 문제로 인해 비 플로트 타입으로 큰 컨볼 루션을 할 때 아티팩트를보고있는 것이 놀랍지 않습니다. –

+0

비슷한 문제가 있습니다. http://stackoverflow.com/questions/32677548/uiimageeffects-white-image-when-gaussian-radius-above-280-vimageboxconvolve-ar – Archagon

+0

그런 높은 커널 크기를 갖는 것이 유용합니다. 당신은 (예를 들어) 다른 해상도에서 가우시안 흐림을 표준화하려고합니다. 예를 들어 높이 8000처럼 높이 1024에 대해 동일한 양의 흐림 효과를 원한다면, 그 커널 크기를 상당히 크랭크 업해야 할 것입니다. – Archagon

답변

1

상자 convolve는 커널 크기에 관계없이 (대략) 일정한 비용을 가지므로, 큰 convolve에 사용할 필터입니다. 나는 255 * 255 커널이 오버 플로우하기에 충분하다는 사실에 놀랐다. 여기에 32 비트 부호가 부착 된 누적기를 사용해야합니다. 어쩌면 텐트가 그 크기로 넘칠 수도 있습니다. 재현 가능한 예제로 버그를 제출하는 것이 좋습니다.

http://bugreporter.apple.com