Potrzebuję wyciąć z pełnego obrazu za pomocą maski i utworzyłem zamaskowany obraz.Jak zaimplementować GPUImageMaskFilter za pomocą GPUImage
+
=
Próbowałem następujące:
UIImage *imgMask = [UIImage imageNamed:@"Mask.png"];
UIImage *imgBgImage = [UIImage imageNamed:@"Full.png"];
GPUImageMaskFilter *maskingFilter = [[GPUImageMaskFilter alloc] init];
GPUImagePicture * maskGpuImage = [[GPUImagePicture alloc] initWithImage:imgMask ];
GPUImagePicture *FullGpuImage = [[GPUImagePicture alloc] initWithImage:imgBgImage ];
[maskGpuImage addTarget:maskingFilter];
[maskGpuImage processImage];
[maskingFilter useNextFrameForImageCapture];
[FullGpuImage addTarget:maskingFilter];
[FullGpuImage processImage];
UIImage *OutputImage = [maskingFilter imageFromCurrentFramebuffer];
Ale, mój wyjściowy generowany obraz jest:
Proszę faceci się za ręce. Pozdrawiam.
Ponadto, dzięki BradLarson.
Dobre pytanie. Mam podobne zadanie i teraz próbuję go rozwiązać dwoma obrazami - jednym dla maski i drugim dla wiązania. – Avt
To naprawdę niepokojący obraz wyjściowy. – niksawtschuk
Jako pierwszy krok, spróbuj zamienić wskaźniki tekstury w następujący sposób: '[FullGpuImage addTarget: maskingFilter atIndex: 0];' '[maskGpuImage addTarget: maskingFilter atIndex: 1];' Sprawdź, czy to zbliża cię do pożądanego wyniku. – Jack