【发布时间】:2014-12-02 18:19:05
【问题描述】:
我在图像中有两个点,左眼中心 (X, Y) 和右眼中心 (X, Y)。我使用cv::circle 在双眼周围画了圈,这很好。但我现在要做的是获得我绘制的圆圈的 ROI,即提取眼睛并将它们保存在新的 Mat 中。
这是我目前的结果:
...但正如我上面所说,只需将眼睛周围的圆圈提取到一个新的 Mat 中,每只眼睛一个。
这是我的代码:
cv::Mat plotImage;
plotImage = cv::imread("C:/temp/face.jpg", cv::IMREAD_COLOR);
cv::Point leftEye(person.GetLeftEyePoint().X, person.GetLeftEyePoint().Y);
cv::Point rightEye(person.GetRightEyePoint().X, person.GetRightEyePoint().Y);
cv::circle(plotImage, leftEye, 15, cv::Scalar(255, 255));
cv::circle(plotImage, rightEye, 15, cv::Scalar(255, 255));
cv::imwrite("C:\\temp\\plotImg.jpg", plotImage);
我找到了以下链接,但我似乎无法理解它们/将它们应用于我正在尝试做的事情: http://answers.opencv.org/question/18784/crop-image-using-hough-circle/
Define image ROI with OpenCV in C
感谢任何帮助/指导!谢谢!
【问题讨论】:
-
积分是怎么获得的?
-
我正在使用分析/查找中心眼点的 SDK。我创建了自己的 Person 类来获取/设置这些值。