android-gpuimage icon indicating copy to clipboard operation
android-gpuimage copied to clipboard

When I use filter group, GpuImageView background was broken

Open findtheway10 opened this issue 7 years ago • 2 comments

I used GpuImageView with GPUImageFilterGroup.

But the gpuImageView was broken The image with the filter applied normally appears, but there is a noise in the background of the crop. Sometimes a part of the image that was previously called is displayed. What should I do for remove this noise of image?

This is broken image https://imgur.com/a/vV6Zq

This is source code

    binding.imageProcessingGpuImage.setScaleType(GPUImage.ScaleType.CENTER_INSIDE)
    binding.imageProcessingGpuImage.setImage(imageUri)

    val mBright = GPUImageBrightnessFilter()
    //ios -1~1 d:0
    //android -1~1 d:0
    mBright.setBrightness(0f)

    val mContrast = GPUImageContrastFilter()
    //ios 0~2 d:1
    //android 0~4 d:1.0
    mContrast.setContrast(1f)

    val mSaturation = GPUImageSaturationFilter()
    //ios 0~2 d:1
    //android 0~2 d:1
    mSaturation.setSaturation(1f)

    val mGamma = GPUImageGammaFilter()
    //ios 0~10 d:1
    //android 0~3 d:1
    mGamma.setGamma(1f)

    val mHue = GPUImageHueFilter()
    //ios 0~6 d:0
    //android 0~360 d:0
    mHue.setHue(0f)

    val mHighlightShadow = GPUImageHighlightShadowFilter()
    //ios 0~1 d:1
    //android 0~1 d:1
    mHighlightShadow.setHighlights(1f)
    //ios -1~1 d:1
    //android 0~1 d:0
    mHighlightShadow.setShadows(0f)

    val mRGB = GPUImageRGBFilter()
    //ios 0~255 d:0
    //android 0~1?? d:1
    mRGB.setRed(1f)
    mRGB.setGreen(1f)
    mRGB.setBlue(1f)

    val mWhiteBalance = GPUImageWhiteBalanceFilter()
    //ios 2000~8000 d:6500
    //android same
    mWhiteBalance.setTemperature(6500f)

    val mVignette = GPUImageVignetteFilter()
    //vignett
    //ios vignetteRadius 0 ~ 2  d:1
    //ios vignetteIntensity -100~100  d:0
    //androud start 0~1
    mVignette.setVignetteStart(0.5f)

    val mSharpen = GPUImageSharpenFilter()
    //ios -10~10 d:0
    //android -4~4 d:0
    mSharpen.setSharpness(0.0f)

    val mMonochrome = GPUImageMonochromeFilter()
    //ios vibrance -1~1 d:0
    //android GPUImageMonochromeFilter 0~1 d:1
    mMonochrome.setIntensity(1f)

    val mExposure = GPUImageExposureFilter()
    //ios 0~1 d:0
    //android -10~10 d:0
    mExposure.setExposure(0f)

    try {
        val filterGroup = GPUImageFilterGroup()
        filterGroup.addFilter(mBright)
        filterGroup.addFilter(mHighlightShadow)
        filterGroup.addFilter(mRGB)
        filterGroup.addFilter(mSharpen)
        filterGroup.addFilter(mExposure)

        binding.imageProcessingCardViewBackground.setOnClickListener {
            binding.imageProcessingGpuImage.filter = filterGroup
            binding.imageProcessingGpuImage.requestRender()
        }
    } catch (e: Exception) {
    }

findtheway10 avatar Feb 02 '18 08:02 findtheway10

Is this problem solved?

xiandanin avatar Jun 24 '18 15:06 xiandanin

I think it relevant to this issue https://github.com/cats-oss/android-gpuimage/issues/395

chihung93 avatar Nov 07 '19 09:11 chihung93