bonjour,

J'affronte quelque problème actuellement dans du traitement d'image avec les filtres de coreimage.

je souhaite avoir une image noir et blanc très nette, avec des images provenant iPad et iPhone.

pour le traitement avec filtre (j'ai utiliser deux filtres a la suite) j'ai suivie ces étapes:

1 - je prend une photo

2 - je la recupere

3 - je recupere la photo, j'applique le filtre == CIColorMonochrome == . (j affiche la photo pour voir si mon filtre et appliquer (il fonctionne)).

4 - je recupere l image avec le filtre appliquer et j'applique sur cette meme image un nouveau filtre == CINoiseReduction == et j'affiche pour être sur que cela fonctionne et la l'image ne veut pas apparaitre et je ne vois pas pourquoi !

si vous pouviez m'aider a en connaitre la raison merci d'avance je vous met mon morceau de code a la suite :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
ochrome
    CIFilter * monochromeFilter;
    monochromeFilter = [CIFilter filterWithName:@"CIColorMonochrome"];
    [monochromeFilter setValue:beginImage forKey:@"inputImage"];

    //Red Green Blue Alpha
    [monochromeFilter setValue:[CIColor colorWithString:@"255 255 255 1.0"] forKey:@"inputColor"];

    [monochromeFilter setValue:[NSNumber numberWithFloat:1] forKey:@"inputIntensity"];
    CIImage* monochromeImage = [monochromeFilter valueForKey:@"outputImage"];
    CIImage* outputImage = monochromeImage;

    //---===---

    CIFilter* noiseReductionFilter = [CIFilter filterWithName:@"CINoiseReduction"];

    //[noiseReductionFilter setDefaults];

    [noiseReductionFilter setValue:outputImage forKey:@"inputImage"];
    [noiseReductionFilter setValue:[NSNumber numberWithFloat:0.2] forKey:@"inputNoiseLevel"];
    [noiseReductionFilter setValue:[NSNumber numberWithFloat:0.40] forKey:@"inputSharpness"];
    [noiseReductionFilter retain];

    CIImage* noiseReductionImage = [noiseReductionFilter valueForKey:@"outputImage"];

    // ---===---
    outputImage = noiseReductionImage;

    CGImageRef cgimg = [context createCGImage:outputImage fromRect:[beginImage extent]];
    UIImage* newImg = [UIImage imageWithCGImage:cgimg];
    CGImageRelease(cgimg);

    [imageView removeFromSuperview];

    CGRect imageFrame = [imageView frame];

    [imageView release];

   // [self noiseReduction:newImg];

    imageView = [[UIImageView alloc]initWithImage:newImg]; 
    NSLog(@"%@ ===---=== " ,[self noiseReduction:newImg]);
    if (flag == 0)
        [imageView setFrame:imageFrame]; NSLog(@"setFrame image");

    NSLog(@"%@ ==== ", imageView);

    [[self view]addSubview:imageView];