opencv - Opencv比较Rect

标签 opencv rect mat

我通过调用DetectMultiScale得到一个Rect vector :

face_cascade.detectMultiScale(ImgGray,faces,1.1,2,0|CV_HAAR_SCALE_IMAGE);

但是Compare需要Mat:
compare(OriginalImg,roi,dist,CMP_EQ);

如何将Rect转换为Mat进行比较,或者有没有办法比较Rect?

最佳答案

如果要比较2张图像,则compare函数将2 cv::Mat作为第一个输入。
要从ImgGray获取投资返回率,您必须从detectMultiScale提供的ROI中提取新的Mat

Mat ImgGray;
vector<Rect> faces;
face_cascade.detectMultiScale(ImgGray,faces,1.1,2,0|CV_HAAR_SCALE_IMAGE);
Rect roiRect = faces[0];
Mat roi = ImgGray (roiRect);
compare(OriginalImg,roi,dist,CMP_EQ);
OriginalImgdistroi具有相同的大小和类型。
这样可以解决您的问题吗?

关于opencv - Opencv比较Rect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20275508/

相关文章:

c++ - 在opencv中获取灰度图像中的最大像素值

python - Pygame 碰撞错误

javascript - 算法 - O(1) 检查鼠标是否悬停在圆圈数组之一上

c++ - OpenCV C++ : Unable to access mat element when mat type is unknown?

java - 如何在 intellij 子模块中包含 opencv (maven)

android - 使用适用于Android的OpenCV在摄像机前挥手时移动图像

opencv - 小型二维点集的简单配准算法

c# - 在 Rect 对象上创建 WPF 工具提示

android - 使用 JNI 传递和返回 OpenCv Mat 对象

c++ - 迭代垫