标签: cascade-classifier

OpenCV detectMultiScale()参数的建议值

推荐的参数是什么CascadeClassifier::detectMultiScale(),取决于我应该更改默认参数的因素?

void CascadeClassifier::detectMultiScale(
    const Mat& image, 
    vector<Rect>& objects, 
    double scaleFactor=1.1,
    int minNeighbors=3, 
    int flags=0, 
    Size minSize=Size(),
    Size maxSize=Size() )
Run Code Online (Sandbox Code Playgroud)

c++ opencv cascade-classifier

58
推荐指数
1
解决办法
6万
查看次数

如何使用两种不同的级联分类器进行检测

我正在尝试使用两种不同的级联分类器来识别两个不同的对象.我修改了面部识别样本,但我遇到了一个问题:当我尝试识别来自object1.xml的对象时,它会打印两个矩形,当我尝试识别来自object2.xml的对象时,它不打印不对...

问题出在哪儿??

private BaseLoaderCallback  mLoaderCallback = new BaseLoaderCallback(this) {
    @Override
    public void onManagerConnected(int status) {
        switch (status) {
            case LoaderCallbackInterface.SUCCESS:
            {
                Log.i(TAG, "OpenCV loaded successfully");

                // Load native library after(!) OpenCV initialization
                System.loadLibrary("detection_based_tracker");

                try {
                    // load cascade file from application resources
                    InputStream is = getResources().openRawResource(R.raw.object1);
                    File cascadeDir = getDir("cascade", Context.MODE_PRIVATE);
                    mCascadeFile = new File(cascadeDir, "object1.xml");
                    FileOutputStream os = new FileOutputStream(mCascadeFile);

                    /* By me */
                    InputStream is2 = getResources().openRawResource(R.raw.object2);
                    mCascadeFile2 = new File(cascadeDir, "object2.xml");
                    FileOutputStream os2 = new FileOutputStream(mCascadeFile2);

                    byte[] …
Run Code Online (Sandbox Code Playgroud)

opencv object-detection object-recognition cascade-classifier

7
推荐指数
0
解决办法
2925
查看次数

用openCV检测嘴巴

我试图用openCV检测图像中的嘴,所以我使用以下代码:

#include "face_detection.h"

using namespace cv;

// Function detectAndDisplay
void detectAndDisplay(const std::string& file_name, cv::CascadeClassifier& face_cascade, cv::CascadeClassifier& mouth_cascade)
{
    Mat frame = imread(file_name);
    std::vector<Rect> faces;
    Mat frame_gray;
    Mat crop;
    Mat res;
    Mat gray;

    cvtColor(frame, frame_gray, COLOR_BGR2GRAY);
    equalizeHist(frame_gray, frame_gray);

    // Detect faces
    face_cascade.detectMultiScale(frame_gray, faces, 1.1, 3, 0 | CASCADE_SCALE_IMAGE, Size(30, 30));

    for(unsigned int i=0;i<faces.size();i++)
    {
        rectangle(frame,faces[i],Scalar(255,0,0),1,8,0);
        Mat face  = frame(faces[i]);
        cvtColor(face,face,CV_BGR2GRAY);
        std::vector <Rect> mouthi;
        mouth_cascade.detectMultiScale(face, mouthi);
        for(unsigned int k=0;k<mouthi.size();k++)
        {
        Point pt1(mouthi[k].x+faces[i].x , mouthi[k].y+faces[i].y);
        Point pt2(pt1.x+mouthi[k].width, pt1.y+mouthi[k].height);
        rectangle(frame, pt1,pt2,Scalar(0,255,0),1,8,0);
        }

    }

    imshow("Frame", …
Run Code Online (Sandbox Code Playgroud)

opencv cascade-classifier haar-classifier

6
推荐指数
1
解决办法
6655
查看次数

OpenCV:检测具有特定颜色的猫.不重要的?

我有一个问题,我的猫被一只猫的猫欺负,以至于猫在夏天进入我们家,吃我们的猫食,睡在我们的家具里.

我的猫是灰色的,问题猫是棕色的.

我想在Linux机器上使用WiFi动作凸轮和OpenCV检测制作警报系统,但我不再做太多编码了.

所以我的问题是.这是使用标准OpenCV模块的一项微不足道的任务吗?

或者它需要大量的原始代码?

我知道有OpenCV级联分类器,但从未使用过它.

亲切的问候

雅各

linux opencv cascade-classifier

6
推荐指数
1
解决办法
1306
查看次数

关于opencv_traincascade的所有问题

我试着创建一个好的级联分类器几周,但似乎这个过程被神秘所包围.我有很多问题:

1)为什么opencv给我们这么少的信息?

2)它需要更多正面图像还是负面图像?

3)什么尺寸应该有正像?和负面形象?它们必须具有相同的尺寸?

4)如果我想创建一个分类为一个单一的路标是够像一个单一的正面形象,与opencv_createsamples创建样?

5)创建一个在Android应用程序上使用的分类器是更好的哈尔或LBP?

6)正确的阶段数是多少?

7)minHitRate和maxFalseAlarmRate的正确值是什么?

android opencv object-detection object-recognition cascade-classifier

5
推荐指数
1
解决办法
1711
查看次数

是否可以在Android上使用OpenCV进行缩放和聚焦?

我正在使用OpenCV在Android上进行一些图像检测.我注意到如果试图将它拿到一个小物体上,那么OpenCV相机会非常模糊.有没有办法缩放相机和/或自定义焦点模式?我熟悉在常规的Android相机类上实现触摸焦点,但我不确定OpenCV的类有什么可能.我在网上找不到多少.

干杯,凯文

android opencv detection cascade-classifier opencv4android

5
推荐指数
1
解决办法
3270
查看次数

5
推荐指数
1
解决办法
6426
查看次数

OpenCV中的CascadeClassifier会生成错误

我正在尝试开发一个简单的应用程序来检测给定图像中的面部和眼睛:

from cv2 import *
face_cascade = CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = CascadeClassifier('haarcascade_eye.xml')

img = imread("123.jpg")
gray = cvtColor(img, COLOR_BGR2GRAY)
rows,cols = gray.shape
gray = getRotationMatrix2D((cols/2,rows/2),-90,1)

faces = face_cascade.detectMultiScale(gray, 1.3, 5, 0)
print faces

for (x,y,w,h) in faces:
    img = rectangle(img, (x,y), ((x+w),(x+h)), (255,0,0), 2)
    #gray = rectangle(gray, (x,y), ((x+w), (x+y)), (0, 255, 0), 4)
    roi_gray = gray[y:y+h, x:x+w]
    roi_color = img[y:y+h, x:x+w]
    eyes = eye_cascade.detectMultiScale(roi_grey)
    for (ex,ey, ew, eh) in eyes:
        roi_color = rectangle(roi_color, (x,y), ((x+w), (y+h)), (50, 50, 50), 3) …
Run Code Online (Sandbox Code Playgroud)

opencv python-2.7 cascade-classifier haar-classifier

4
推荐指数
1
解决办法
4637
查看次数

定义一组Haar Like Features(初始)

当谈到级联分类器(使用haar like features)时,我总是会读到像AdaBoosting这样的方法用于选择"最佳"特征进行检测.但是,只有在有一些初始功能开始提升时,这才有效.

给定24x24像素图像,有162,336种可能的haar功能.我可能在这里错了,但我不认为像openCV这样的库最初会测试所有这些功能.

所以我的问题是如何选择初始功能或如何生成它们?有关最初功能数量的指南吗?

如果最初使用所有16​​2,336个功能.它们是如何产生的?

machine-learning computer-vision cascade-classifier haar-classifier

3
推荐指数
1
解决办法
2033
查看次数

stagec和cascade.xml中opencv级联分类器的值是什么意思

我试图从教程中检测一些东西.培训完成后,将创建阶段文件和级联文件.我对算法有所了解,但我不知道这些文件中的信息含义.

<internalNodes>
        0 -1 13569 2.8149113059043884e-003</internalNodes>
      <leafValues>
        9.8837211728096008e-002 -8.5897433757781982e-001</leafValues></_>  
Run Code Online (Sandbox Code Playgroud)

<rects>
        <_>
          0 0 3 1 -1.</_>
        <_>
          1 0 1 1 3.</_></rects>
      <tilted>0</tilted></_>
Run Code Online (Sandbox Code Playgroud)

这些价值观的含义是什么?

opencv cascade-classifier

3
推荐指数
1
解决办法
1959
查看次数