- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 OpenCV 3 中的 SimpleBlobDetector 来检测热图像中的热 Blob ,例如人。任何简单的代码或示例将不胜感激。
我试过了`
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include "opencv2\features2d.hpp"
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
if (argc != 2)
{
cout << " Usage: display_image ImageToLoadAndDisplay" << endl;
return 0;
}
Mat image;
image = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE); // Read the file
if (!image.data) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl;
return 0;
}
// Set up the detector with default parameters.
//SimpleBlobDetector detector;
// Setup SimpleBlobDetector parameters.
SimpleBlobDetector::Params params;
// Change thresholds
params.minThreshold = 50;
params.maxThreshold = 200;
// Filter by Area.
params.filterByArea = true;
params.minArea = 1500;
// Filter by Circularity
params.filterByCircularity = true;
params.minCircularity = 0.1;
// Filter by Convexity
params.filterByConvexity = true;
params.minConvexity = 0.87;
// Filter by Inertia
params.filterByInertia = true;
params.minInertiaRatio = 0.01;
// Detect blobs.
std::vector<KeyPoint> keypoints;
cv::Ptr<cv::SimpleBlobDetector> detector = cv::SimpleBlobDetector::create(params);
//detector->detect(img, keypoints);
detector->detect(image, keypoints);
//params.detect(image, keypoints);
// Draw detected blobs as red circles.
//DrawMatchesFlags::DRAW_RICH_KEYPOINTS flag ensures the size of the circle corresponds to the size of blob
Mat im_with_keypoints;
drawKeypoints(image, keypoints, im_with_keypoints, Scalar(0, 0, 255), DrawMatchesFlags::DRAW_RICH_KEYPOINTS);
// Show blobs
imshow("keypoints", im_with_keypoints);
waitKey(0);
//namedWindow("Display window", WINDOW_AUTOSIZE);// Create a window for display.
//imshow("Display window", image); // Show our image inside it.
//waitKey(0); // Wait for a keystroke in the window
//return 0;
}` 但它只是返回未更改的灰色图像。
最佳答案
要使用 OpenCV 检测 Blob ,您需要:
SimpleBlobDetector
类型KeyPoint
s类型的 vector SimpleBlobDetector::detect()
这里有一个很棒的在线教程(我从那里截取了代码):https://www.learnopencv.com/blob-detection-using-opencv-python-c/
using namespace cv;
Mat im = imread( "blob.jpg", IMREAD_GRAYSCALE );
SimpleBlobDetector detector;
std::vector<KeyPoint> keypoints;
detector.detect( im, keypoints);
drawKeypoints( im, keypoints, im_with_keypoints, Scalar(0,0,255), DrawMatchesFlags::DRAW_RICH_KEYPOINTS );
imshow("keypoints", im_with_keypoints );// Show blobs
waitKey(0);
您还可以调整参数以选择具有特定属性的 Blob ,这些都在教程中列出。我建议玩一玩,感受一下它是如何运作的。
关于c++ - 如何使用 Blob Detector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41116049/
我试图通过在 google 和此处搜索 SO 来开发自定义 ImageView。 一切正常,除非我尝试使用 mdetector.getFocusX() 和 mdetector.getFocusY()
Timber (V 4.5.0) lint 检查只能通过 Gradle 进行(但不能通过 lint 命令进行,也不能在 Android Studio 2.3 Beta2 中进行)。 总结 当我直接在命
我正在尝试使用 OpenCV 3 中的 SimpleBlobDetector 来检测热图像中的热 Blob ,例如人。任何简单的代码或示例将不胜感激。 我试过了` #include #include
我目前正在通过 Udemy 学习 openCV 类(class),但遇到了我的内核即将死机的问题。我尝试逐行消除以查看可能的原因,我发现当代码到达该行时:keypoints = detector.de
我使用 ESP-IDF 作为框架。 我知道Brownout detector was trigerred错误来自检测低电压发生的低电压检测器。通常,当该错误发生时,MCU 会自动重启。 是的,可以设置
我一直在使用这个代码 Android: I want to shake it实现摇动运动检测器。但实际上当我在我的智能手机上运行它时,它什么也没做。我尝试使用断点来检查,但它永远不会进入 if (mA
我有一些不同光照下的行人图像,其中一些非常暗且难以检测。所以我试图找到一种方法来预处理这些图像以提高检测率。到目前为止,我在想: 1)调色算法,如http://www.ipol.im/pub/art/
假设我有一个名为 df.Text 的列,其中包含文本(超过 1 个句子)并且我想使用多语言 Detector 来检测语言并存储值在新列 df['Text-Lang'] 中,我如何确保我还捕获了其他详细
我对使用 Visual Studio 2013 有点陌生,我正在尝试让 Visual Leak Detector(2.3 版)工作,以便检查我的项目是否存在内存泄漏。 我已经安装并添加了C:\Prog
我正在尝试使用设备和操作系统检测脚本,并遇到了这个移动检测 js 插件。看起来很干净,但又很困惑。 GITHUB LINK和 DOC LINK 文档似乎并不详尽,我发现如何创建特殊情况有点令人困惑。例
我们正在使用Compact Language Detector 2的Java Wrapper实现. 是the detect() function线程安全? 据我了解,它调用 this library
我创建一个检测操作系统的类: public class OperatingSystemProvider { private final String osName; publi
基本上你必须先做一个: SurfFeatureDetector surf(400); surf.detect(image1, keypoints1); 然后是: surfDesc.compute(im
无论我如何尝试,我似乎都无法让 VLD 捕捉到任何内存泄漏。有什么想法吗? 这里也是输出的片段: Visual Leak Detector Version 2.4RC2 installed. The
这个问题在这里已经有了答案: How can I find unused functions in a PHP project (10 个答案) 关闭 9 年前。 我想编写一个规则来查找项目中所有未
我正在使用 polyglot 函数将文本从一种语言转换为另一种语言,例如将西类牙语转换为英语。 我按照说明安装了 Polyglot 和所需的模块。 但是在运行代码的时候 from polyglot.d
好的,所以我认为我的程序可能存在内存泄漏。这是一个 SDL 应用程序,它似乎变得太大了,我无法手动查明泄漏。我四处寻找与 Valgrind 相当的 Windows(我正在运行 Windows 7 x6
要安装这个库,运行: $ npm install ngx-device-detector --save 包.json "ngx-device-detector": "^2.0.6", 用法:在您的 a
要安装这个库,运行: $ npm install ngx-device-detector --save 包.json "ngx-device-detector": "^2.0.6", 用法:在您的 a
我正在使用 Visual Studio 2012 的 CppUnitTestFramework 对我的 C++ 代码进行单元测试。现在我想使用 Visual Leak Detector 检查内存泄漏。
我是一名优秀的程序员,十分优秀!