日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UIImage与Iplimage相互转换

發布時間:2025/3/17 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UIImage与Iplimage相互转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原創文章,轉載請注明出處:http://www.cnblogs.com/mfryf/archive/2012/02/27/2369952.html?

Opencv中所有的圖像處理都是Iplimage類型的格式,iso的sdk顯示一張圖像的對象類型是UIImage。因此,我們如果想在ios環境中使用opencv,

就必須把UIImage轉換成Iplimage,處理之后再把Iplimage轉換成UIImage。非常幸運的是,IOS的sdk為我們提供了轉換API。

從UIImage創建一個Iplimage結構,代碼如下:

// NOTE you SHOULD cvReleaseImage() for the return value when end of the code.
- (IplImage *)CreateIplImageFromUIImage:(UIImage *)image {
// Getting CGImage from UIImage
CGImageRef imageRef = image.CGImage;

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
// Creating temporal IplImage for drawing
IplImage *iplimage = cvCreateImage(
cvSize(image.size.width,image.size.height), IPL_DEPTH_8U, 4
);
// Creating CGContext for temporal IplImage
CGContextRef contextRef = CGBitmapContextCreate(
iplimage->imageData, iplimage->width, iplimage->height,
iplimage->depth, iplimage->widthStep,
colorSpace, kCGImageAlphaPremultipliedLast|kCGBitmapByteOrderDefault
);
// Drawing CGImage to CGContext
CGContextDrawImage(
contextRef,
CGRectMake(0, 0, image.size.width, image.size.height),
imageRef
);
CGContextRelease(contextRef);
CGColorSpaceRelease(colorSpace);

// Creating result IplImage
IplImage *ret = cvCreateImage(cvGetSize(iplimage), IPL_DEPTH_8U, 3);
cvCvtColor(iplimage, ret, CV_RGBA2BGR);
cvReleaseImage(&iplimage);

return ret;
}

使用玩iplimage之后,別忘記釋放內存。cvreleaseImage().

從iplimage創建一張UIImage

代碼如下:

// NOTE You should convert color mode as RGB before passing to this function
- (UIImage *)UIImageFromIplImage:(IplImage *)image {
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
// Allocating the buffer for CGImage
NSData *data =
[NSData dataWithBytes:image->imageData length:image->imageSize];
CGDataProviderRef provider =
CGDataProviderCreateWithCFData((CFDataRef)data);
// Creating CGImage from chunk of IplImage
CGImageRef imageRef = CGImageCreate(
image->width, image->height,
image->depth, image->depth * image->nChannels, image->widthStep,
colorSpace, kCGImageAlphaNone|kCGBitmapByteOrderDefault,
provider, NULL, false, kCGRenderingIntentDefault
);
// Getting UIImage from CGImage
UIImage *ret = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
CGDataProviderRelease(provider);
CGColorSpaceRelease(colorSpace);
return ret;
}

盡情的在ios中使用opencv吧~

總結

以上是生活随笔為你收集整理的UIImage与Iplimage相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲伦理天堂 | 日本十八禁视频无遮挡 | 美女性生活视频 | 操批网站| 国产精品亚洲αv天堂无码 伊人性视频 | 不卡的免费av | 无码人妻精品一区二区三区99日韩 | 男女啪啪十八 | 欧美变态网站 | 玖玖久久 | 在线麻豆 | 白浆影院 | 91麻豆网站 | 日本欧美成人 | www日韩欧美 | 精品视频免费播放 | 粉嫩aⅴ一区二区三区四区五区 | 69国产精品视频免费观看 | 亚洲精品乱码久久久久久写真 | 欧美一级二级视频 | 黄色精品网站 | 夜夜爽影院 | 亚洲经典在线观看 | 国产调教在线观看 | 日本三级午夜理伦三级三 | 美女少妇毛片 | 国模私拍一区二区 | 国产乱人对白 | 国产欧美视频一区二区 | 国产精品一级二级 | 九色蝌蚪91 | 四虎5151久久欧美毛片 | 国产高清sp | 久久看毛片 | 国产国产乱老熟女视频网站97 | 91精品人妻一区二区三区蜜桃欧美 | 亚洲电影在线看 | 中文字幕av一区二区三区 | 色婷婷av久久久久久久 | 天天综合天天添夜夜添狠狠添 | 国产主播专区 | 亚洲视频福利 | 国产原创91 | 欧美国产乱视频 | 中文字幕第九页 | 久久久久久久网 | 爱情岛论坛自拍亚洲品质极速最新章 | 午夜在线看片 | 噜噜噜噜私人影院 | 国产精品性| 激情视频免费在线观看 | 色噜噜在线 | 特级西西人体wwwww | 狠狠操狠狠爱 | 欧美影院一区二区 | 亚洲精品aa | 经典三级在线视频 | 中国av一区二区 | 91精品国产自产91精品 | 中国黄色片子 | 一级片免费网站 | www.av网 | 中文字幕资源站 | 国产蜜臀在线 | 观看免费av | 香蕉视频A | 成人在线观看小视频 | 69超碰 | 天天射天天拍 | 午夜精品久久久久久久91蜜桃 | 亚洲图片三区 | 国产偷人妻精品一区二区在线 | 亚洲一区二区视频网站 | 欧美一级片a | 久久午夜无码鲁丝片午夜精品 | 国产精品欧美久久久久久 | 四虎国产精品永久在线国在线 | 精品成人一区二区三区 | 亚洲午夜伦理 | 免费无码国产v片在线观看 三级全黄做爰在线观看 | 国产美女喷水 | 国产精选一区 | 亚洲欧洲日韩 | 久久精品欧美 | 久久国产传媒 | 亚洲色成人www永久网站 | 精品人妻人伦一区二区有限公司 | 韩国三级在线播放 | 欧美伦理在线观看 | 欧美高清在线视频 | 成人综合激情 | 中文字幕丰满乱子伦无码专区 | 黄色网络在线观看 | 国产精品传媒 | 久久精品视频国产 | 区一区二在线观看 | 国产偷拍一区二区 | 毛片视频软件 | 久久男人视频 |