【发布时间】:2011-07-12 08:58:55
【问题描述】:
我需要做一个可以在图像中查找图像模式的 iphone 应用程序。 (比如this)
经过无数次谷歌搜索,我觉得我唯一的选择是在为objectiveC移植的opencv中使用模板匹配功能。
我从this github 代码中找到了一个在objectiveC 中简单的opencv 项目的绝佳起点。
但它只使用了openCV中的边缘检测和人脸检测功能。我需要一个在 iPhone 的 ObjectiveC 中使用模板匹配函数“cvMatchTemplate”的 ObjectiveC 示例?
下面是我此刻的代码:(至少它没有给我错误,但是这段代码返回一个完全黑色的图像,我期待一个匹配区域会更亮的结果图像?)
IplImage *imgTemplate = [self CreateIplImageFromUIImage:[UIImage imageNamed:@"laughing_man.png"]];
IplImage *imgSource = [self CreateIplImageFromUIImage:imageView.image];
CvSize sizeTemplate = cvGetSize(imgTemplate);
CvSize sizeSrc = cvGetSize(imgSource);
CvSize sizeResult = cvSize(sizeSrc.width - sizeTemplate.width+1, sizeSrc.height-sizeTemplate.height + 1);
IplImage *imgResult = cvCreateImage(sizeResult, IPL_DEPTH_32F, 1);
cvMatchTemplate(imgSource, imgTemplate, imgResult, CV_TM_CCORR_NORMED);
cvReleaseImage(&imgSource);
cvReleaseImage(&imgTemplate);
imageView.image = [self UIImageFromIplImage:imgResult];
cvReleaseImage(&imgResult);
p/s:或者,我应该尝试使用 cvHaarDetectObjects 识别对象吗?
【问题讨论】:
-
嗨,你能帮我完成一项任务吗
-
嗨,对不起,我已经停止工作太久了......
-
那么你的任务完成了吗?
-
嗨,根据下面另一位用户的评论,他指出模板匹配不是我的目的的正确方向。他建议我使用 SIFT 或 SURF。
-
嗨,我的任务是捕捉人类图像并制作它的侏儒(尺寸更短)图像...建议我最佳实践..plz
标签: objective-c opencv