Выходы устройства/симулятора фильтра Core Image

Я создаю фильтры в своем приложении, используя Core Image. Сначала я тестировал их на симуляторе, и все выглядело нормально. Когда я переключился на устройство, вывод выглядит по-другому. Для фильтра, который я использую, вот код:

result = [CIFilter filterWithName:@"CIColorMatrix" keysAndValues:
                  kCIInputImageKey, image,
                  @"inputRVector", [CIVector vectorWithX:1.00 Y:0.00 Z:0.00 W:0.00],
                  @"inputGVector", [CIVector vectorWithX:0.00 Y:1.00 Z:0.00 W:0.00],
                  @"inputBVector", [CIVector vectorWithX:0.30 Y:0.00 Z:1.00 W:0.00],
                  @"inputAVector", [CIVector vectorWithX:0.42 Y:0.00 Z:0.00 W:1.00],
                  @"inputBiasVector", [CIVector vectorWithX:0.00 Y:0.00 Z:0.06 W:0.00], nil].outputImage;
        
        result = [CIFilter filterWithName:@"CIVignetteEffect" keysAndValues:
                  kCIInputImageKey, result,
                  kCIInputCenterKey, [CIVector vectorWithX:250 Y:478],
                  kCIInputRadiusKey, @414.36,
                  kCIInputIntensityKey, @0.75,nil].outputImage;

CGRect extent = [result extent];
    CGImageRef cgimage = [context createCGImage:result fromRect:extent];
    UIImage *filteredImage = [UIImage imageWithCGImage:cgimage scale:originalScale orientation:originalOrientation];
    CGImageRelease(cgimage);
    [_filteredImageView setImage:filteredImage];

Желаемый результат и то, что показывает симулятор, следующие: введите здесь описание изображения

Однако, когда я запускаю его на устройстве, я получаю следующий вывод: введите здесь описание изображения

Что может быть не так?

Примечание: изображения сделаны в виде скриншотов, а не с телефона или другого устройства. Это качество изображения.


person HusseinB    schedule 13.04.2014    source источник
comment
В чем именно проблема? Неправильное изображение или неправильный фильтр?   -  person Robert J. Clegg    schedule 13.04.2014
comment
@Tander вывод фильтра правильный на симуляторе и неправильный при запуске на устройстве. как это происходит? Предоставленные фотографии, чтобы показать вам разницу. Спасибо   -  person HusseinB    schedule 13.04.2014
comment
Как объявляется результат? В прошлый раз у меня была похожая проблема (работает на симе, а не на устройстве) из-за управления памятью.   -  person Robert J. Clegg    schedule 13.04.2014
comment
@Tanderi объявляет результат как CIImage *result; я обновил сообщение о том, как я использую вывод.   -  person HusseinB    schedule 13.04.2014
comment
Мне пришлось перепроверить, было ли это изображение опубликовано 1 апреля. Изображение на симе = городской пейзаж, изображение на устройстве = изображение кота. Действительно?!? Мне кажется, вы используете совершенно разные исходные изображения на двух платформах?   -  person Duncan C    schedule 15.05.2014


Ответы (1)


Хорошо, я узнал проблему. проблема была в образе. Я использовал разные размеры изображений на каждой платформе.

person HusseinB    schedule 13.04.2014