Jak przekonwertować (OS_dispatch_data *) 5018112 bajtów na NSData, aby umieścić w UIImage

Szukałem odpowiedzi na to pytanie, a niektóre wydają się być tym, czego potrzebuję, ale nie jestem pewien. znalazłem toPytanie # 9152851 i toPytanie # 2617625 i szturchałem kilka linków, ale potrzebuję jakiegoś kierunku.

Zasadniczo wywołuję wywołanie asynchroniczne w celu przetworzenia obrazu przy użyciu OpenCV. Możesz zobaczyć przez kod tutaj, że zamieniam go w NSData * przed wysłaniem go do mojego delegata.

NSData *proccessedData = [NSData dataWithBytes:processedImage.data length:(processedImage.rows * processedImage.cols)];        
[self.delegate onProcessedBitmapReady:proccessedData withFocusQuality:focusQuality];

Ale kiedy wracam do mojego delegata, moja przetworzona mapa jest typu (OS_dispatch_data *) i zawiera wartość bajtów. Tak więc, gdy próbuję ustawić UIImage, zostaje on ustawiony na wartość null.

- (void)onProcessedBitmapReady:(NSData *)processedBitmap withFocusQuality:(double)focusQuality
{
    //Use comverted image from self.captureCommand onComplete
    UIImage *image = [[UIImage alloc] initWithData:processedBitmap];
    [self saveImage:image];
}

Oto zrzut ekranu wartości:

Jak więc przekonwertować te bajty (lub cokolwiek to jest) na coś, co mogę umieścić w UIImage?

Z góry dziękuję za pomoc.

-------------------------------------------------- -----Dodawanie nowego obrazu -----------------------------------------

Czy ten nowy obraz pomaga?

Dziękuję Ci.

questionAnswers(1)

yourAnswerToTheQuestion