/ / Karykatura w iOS [zamknięte] - iPhone, iOS, Objective-C, iOS6, Core-image

Karykatura w iOS [zamknięty] - iphone, ios, cel-c, ios6, obraz podstawowy

Próbuję zastosować efekt karykatury na zdjęciach w iOS. Poszukałem tak wielu rzeczy, ale znalazłem bardzo dobre rzeczy. sprawdziłem https://github.com/BradLarson/GPUImage aby uzyskać szkic obrazu, dzięki czemu mogę zastosować różne filtry do szkicu. Ale wciąż utknąłem w tym. Widziałem także ten link Utwórz efekt szkicu na zdjęciach za pomocą Brad Larson GPUImage w Obj C. ale nie można uzyskać odpowiedniej kombinacji. Pomóż mi, jeśli znalazłeś coś podobnego.

Z góry dziękuję.

Odpowiedzi:

1 dla odpowiedzi № 1

Nigdy nie słyszałem o filtrze karykaturyczęść iOS. Prawdopodobnie będzie to projekt niestandardowy. Istnieje jednak mnóstwo wbudowanych filtrów, które są częścią iOS. Uruchom ten mały skrypt, aby uzyskać pełną listę wszystkich filtrów CoreImage należących do iOS6:

NSArray *ciFilters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
for (NSString *filter in ciFilters) {
NSLog(@"filter name %@", filter);
NSLog(@"filter %@", [[CIFilter filterWithName:filter] attributes]);
}

i pamiętaj, aby dodać CoreImage do swojego projektu.

EDYCJA: Wypróbuj tę funkcję jako filtr wykrywania krawędzi:

-(CIImage *)simpleEdgeDetection:(CIImage *)inputImage {
CIFilter *desaturate = [CIFilter filterWithName:@"CIColorControls"];
[desaturate setValue:inputImage forKey:kCIInputImageKey];
[desaturate setValue:@0.0f forKey:@"inputSaturation"];
CIFilter *blur = [CIFilter filterWithName:@"CIGaussianBlur"];
[blur setValue:desaturate.outputImage forKey:kCIInputImageKey];
[blur setValue:@3.0f forKey:@"inputRadius"];
CIFilter *inverted = [CIFilter filterWithName:@"CIColorInvert"];
[inverted setValue:blur.outputImage forKey:kCIInputImageKey];
CIFilter *blendDodge = [CIFilter filterWithName:@"CIColorDodgeBlendMode"];
[blendDodge setValue:inverted.outputImage forKey:kCIInputBackgroundImageKey];
[blendDodge setValue:desaturate.outputImage forKey:kCIInputImageKey];
CIFilter *blendBurn = [CIFilter filterWithName:@"CIColorDodgeBlendMode"];
[blendBurn setValue:blendDodge.outputImage forKey:kCIInputImageKey];
[blendBurn setValue:inputImage forKey:kCIInputBackgroundImageKey];
return blendBurn.outputImage;

}

Pochodzi z samouczka iOS6 - www.raywenderlich.com