【发布时间】:2012-07-24 11:23:49
【问题描述】:
您好,我需要快速缩放灰度图像,所以我尝试了 vImage,但应用程序崩溃了,请帮忙。在下面的代码中 srcimg.data/dstimg.data 是指向 unsigned char 图像数据(单通道仅灰度数据)的点。
vImage_Buffer 源; src.data=srcimg.data; src.height=srcimg.cols; src.width=srcimg.rows; src.rowBytes=srcimg.cols; vImage_Buffer 目标; dest.data=dstimg.data; dest.height=dstimg.cols; dest.width=dstimg.rows; dest.rowBytes=dstimg.cols; vImageScale_Planar8(&src, &dest, NULL, kvImageNoFlags);【问题讨论】:
-
srcimg 和 dstimg 是来自 opencv 的 cv::Mat 对象,如果我将上面的代码替换为 cv::resize(srcimg, dstimg, dstimg.size());应用程序将按预期运行,但速度较慢。
-
嗨,Davids 的回答解决了这个问题,应用不再崩溃但运行速度比以前慢,请告诉我如何有效地使用 vImage。
标签: ios objective-c image-processing accelerate-framework vimage