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.