>  기사  >  백엔드 개발  >  가우시안 블러 구현으로 이상한 출력이 생성됨

가우시안 블러 구현으로 이상한 출력이 생성됨

WBOY
WBOY앞으로
2024-02-11 09:20:081190검색

가우시안 블러 구현으로 이상한 출력이 생성됨

php 편집자 Yuzai는 가우시안 블러가 이미지를 흐리게 할 수 있는 일반적인 이미지 처리 기술이며 사진을 아름답게 하거나 특수 효과를 얻는 데 자주 사용된다고 지적했습니다. 그러나 가우시안 블러 알고리즘이 올바르게 구현되지 않으면 이상한 출력이 발생할 수 있습니다. 여기에는 이미지 왜곡, 가장자리 흐릿함, 색상 변화 등의 문제가 포함될 수 있습니다. 따라서 가우시안 블러 기술을 사용할 때 예상되는 출력 효과를 보장하려면 알고리즘을 올바르게 구현하는 데 주의를 기울여야 합니다.

질문 내용

golang image.image객체에 가우시안 블러를 구현하려고 합니다. 다음 이미지의 경우:

생성된 출력 이미지는 다음과 같습니다.

보시다시피, 출력 이미지에는 가장자리를 처리하지 않기로 한 현재 구현 결정에 해당하는 일부 처리되지 않은 경계가 포함되어 있어 어떤 식으로든 계산을 엉망으로 만들었을 수도 있다는 생각이 듭니다. 따라서 이미지 픽셀을 반복할 때 하나씩 오류를 삭제할 수 있습니다. 이 코드를 여러 번 확인했지만 오류를 찾을 수 없습니다. 내 문제를 해결하는 데 도움이 될 수 있는 구현에 대한 도움과 배려에 진심으로 감사드립니다. 코드는 아래에 포함되어 있습니다. 수정이나 설명이 필요한 경우 알려주시기 바랍니다!

으아악

편집

  • rgbaimg
  • 대신 원본 이미지에서 픽셀을 읽도록 코드를 수정했습니다.
  • 또한 applygaussianfunction 函数注释了 efactor,因为我已经使用 sum변수
  • 에서 커널을 정규화했습니다.
  • 64비트 rgba 구조를 사용하도록 수정된 .set 방법

새로 생성된 이미지입니다

검은색 테두리는 수정하기 쉽기 때문에 이미 수정 중입니다. 이것은 더 이상 문제의 일부가 아닙니다.

해결 방법

지금 쓰고 있는 이미지와 동일한 이미지를 읽고 있습니다. 원본 이미지를 읽어보세요:

으아악

편집자: 게다가 image.at 返回 color.rgba,而 func (color.rgba) rgba 返回0 到 0xffff 范围。然而 color.rgba 构造函数期望它们在 0 到 255 范围内。在写入结果时,您可能需要使用 color.rgba64:

으아악

위 내용은 가우시안 블러 구현으로 이상한 출력이 생성됨의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제