uiimage к iplimage - PullRequest
       4

uiimage к iplimage

1 голос
/ 04 апреля 2011

Я пытаюсь преобразовать черно-белый UIImage в IplImage, но выдает их с консоли.Что нельзя сделать?

CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 16 bits/pixel; 1-component color space; kCGImageAlphaPremultipliedLast; 84 bytes/row.

CGContextDrawImage: invalid context 0x0.


notaImage = [UIImage imageWithCGImage:drawImage];
         //UIImageWriteToSavedPhotosAlbum(notaImage, self, @selector(imageSavedToPhotosAlbum: didFinishSavingWithError: contextInfo:), nil);
         vec_iphone.push_back(notaImage);    
         CGImageRef i_Ref = notaImage.CGImage;

         CGColorSpaceRef color_S = CGColorSpaceCreateDeviceGray();
             // Creating temporal IplImage for drawing
         IplImage *nota_img = cvCreateImage(
                                  cvSize(notaImage.size.width,notaImage.size.height), IPL_DEPTH_8U, 1
                                 );
             // Creating CGContext for temporal IplImage
         CGContextRef c_Ref = CGBitmapContextCreate(
                                        nota_img->imageData, nota_img->width, nota_img->height,
                                        nota_img->depth, nota_img->widthStep,
                                        color_S, kCGImageAlphaPremultipliedLast|kCGBitmapByteOrderDefault
                                      );

             // Drawing CGImage to CGContext
             CGContextDrawImage(
                                c_Ref,
                                CGRectMake(0, 0, notaImage.size.width, notaImage.size.height),
                                i_Ref
                                );

             //


             vec_images.push_back(nota_img);
             CGContextRelease(c_Ref);
             CGColorSpaceRelease(color_S);
             CGImageRelease(i_Ref);

1 Ответ

1 голос
/ 04 апреля 2011

Поскольку ваше входное изображение серое, ваш формат контекста не содержит альфа-канала, поэтому использование kCGImageAlphaPremultipliedLast неверно.Попробуйте kCGImageAlphaNone вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...