Перейти к содержимому
Compvision.ru
astrgan

Помогите понять ошибку при работе с OpenCV

Recommended Posts

С помощью этого кода хочу подготовить картинки для обучения нейросети.


#include <opencv2/core/core.hpp>

#include <opencv2/highgui/highgui.hpp>

#include <opencv2/imgproc/imgproc.hpp>

#include <vector>

#include <iostream>

#include <sstream>


int main()

{

    std::vector<cv::Vec3f> vecCircles;

    std::vector<cv::Vec3f>::iterator itrCircles;


    cv::VideoCapture  capWebcam;

    cv::Mat matOriginal,matProcessed;

    int name = 0;

    std::string path = "/home/alex/development/";


    std::vector<int> compression_params;                    //vector that stores the compression parameters of the image

    compression_params.push_back(CV_IMWRITE_JPEG_QUALITY);  //specify the compression technique

    compression_params.push_back(98);                       //specify the compression quality


    capWebcam.open(0);


    while(1){

        capWebcam.read(matOriginal);

        cv::inRange(matOriginal, cv::Scalar(0,0,175), cv::Scalar(100,100,256),matProcessed);

        cv::HoughCircles(matProcessed, vecCircles, CV_HOUGH_GRADIENT, 2, matProcessed.rows / 4,100,50,10,400);


        for (itrCircles = vecCircles.begin(); itrCircles != vecCircles.end(); itrCircles++){

            int x = (int)(*itrCircles)[0];

            int y = (int)(*itrCircles)[1];

            int w = 2*(int)(*itrCircles)[2];

            int h = 2*(int)(*itrCircles)[2];

            cv::Rect rect(x-w/2,y-h/2,w,h);

            cv::rectangle(matProcessed, rect, cv::Scalar(0,0,255), 3);

            cv::rectangle(matOriginal, rect, cv::Scalar(0,0,255), 3);

            std::ostringstream out;


            out<<path<<name<<".jpg";

            cv::imwrite(out.str(), cv::Mat(matOriginal,rect),compression_params);

            std::cout<<"save: "<< out.str() <<std::endl;

            name++;

        }


        cv::imshow("matProcessed",matProcessed);

        cv::imshow("matOriginal",matOriginal);

        cv::waitKey(35);


    }

}

Но бывает вылетает это

5401086_s.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скорее всего ROI выходит за изображение (проверьте rect).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×