source

Scaleed Bitmap을 생성하기 위한 필터 매개 변수는 무엇을 합니까?

nicesource 2023. 9. 1. 21:06
반응형

Scaleed Bitmap을 생성하기 위한 필터 매개 변수는 무엇을 합니까?

의 선언.android.graphics.Bitmap.createScaledBitmap이라

public static Bitmap createScaledBitmap
  (Bitmap src, int dstWidth, int dstHeight, boolean filter)

그러나 설명서에는 매개 변수가 설명되어 있지 않습니다.그들 모두는 아주 명백합니다.boolean filter그것이 무엇을 하는지 아는 사람?

Karan의 대답을 확장하기 위해: 일반적으로 이미지를 축소하는 것은 아무런 차이가 없지만, 확대하는 것은 그렇게 될 것입니다.

패싱filter = false블록 모양의 픽셀 이미지가 생성됩니다.

패싱filter = true가장자리를 매끄럽게 해줍니다.

그러나 EIYeante가 댓글에서 지적했듯이, 여전히 차이를 볼 수 있습니다.이것이 그들의 예시 이미지입니다.

SKIA 소스 코드를 빠르게 탐색하면 (적어도 기본적으로) FILTER 플래그로 인해 간단한 이중 선형 보간이 수행됩니다.Wikipedia 또는 즐겨찾는 그래픽 참조를 확인하여 예상되는 결과를 확인합니다.일반적으로 영상 크기를 조정할 때는 2선형 또는 2제곱 보간을 수행하고 영상 크기를 조정할 때는 영역 평균을 수행합니다.Android/Skia는 축소 시 필터링 없이 간단한 서브샘플링을 하므로 축소 시에도 필터링을 통해 더 좋은 결과를 얻을 수 있다는 인상을 받습니다. (50% 스케일을 연속으로 줄이는 것을 포함하여 보간법으로 고품질의 축소를 얻을 수 있는 다른 방법이 있습니다.)자세한 내용은 http://today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html 을 참조하십시오.)

파티에 조금 늦었지만, 저는 몇몇 샘플 이미지들이 그 문제를 분명히 할 것이라고 생각했습니다.

image filters compared

슈퍼유저에 대한 필터링 여부와 방법에 대한 보다 일반적인 질문이 있습니다.

제프 앳우드가 말합니다.

일반적으로 큰 이미지를 작은 이미지로 만들 때는 약간의 선명도 효과가 필요하고 작은 이미지를 큰 이미지로 만들 때는 약간의 흐릿함 효과가 필요합니다.

Android의 API는 어떤 종류의 필터를 적용할 것인지를 명시하지 않았기 때문에, 질문은 픽셀을 그대로 유지할 것인지(8비트 아트에서 원하는 대로) 또는 이미지를 더 맛있게 만들기 위해 변환을 적용할 것인지(사진에서 원하는 대로)입니다.

필터가 FILTER_B를 설정합니다.사용자가 제공한 값을 기준으로 변환될 때 비트맵 샘플링에 영향을 미치는 도장용 ITMAP_FLAG

안드로이드와 파이썬에서 동일한 텐서플로라이트 모델을 사용하면서 filter=false일사용된 알고리즘에 대해 조사한 결과 filter=false일가장 가까운 모델(안드로이드 7.1에서 가장 가까운 모델)을 사용하는 것으로 나타났습니다.저는 PIL resample=Image를 사용했을 때 안드로이드와 파이썬에서 동일한 임베딩을 비교했습니다.가장 가까운

언급URL : https://stackoverflow.com/questions/2895065/what-does-the-filter-parameter-to-createscaledbitmap-do

반응형