Opencv Mat For цикл останавливается до того, как предполагается - PullRequest
0 голосов
/ 02 июля 2018

Я новичок в C ++ и испытываю некоторые трудности с использованием матриц Opencv. Я сделал двойной цикл For на мате CV_8UC1, чтобы создать порог для моего изображения, но он останавливается на i = 0 и j = 610/620 (не всегда одно и то же значение для j). Изображение имеет размер 1920x1080 пикселей. inputframe и outputframe имеют одинаковый тип. Мой код введите в if (m_Tracker_On == false) и не идите дальше, потому что он останавливается внутри.

void TorpedoTracker::hsv_thresholding(Mat& inputframe,Mat& outputframe)
{
    uint8_t black=0;
    uint8_t white=255;

    if (m_Tracker_On==false)
    {
        cout << "tracker off " << endl;
        for (int i=0; i<m_cols;i++)
        {
            for (int j=0; j<m_rows;j++)
            {
                if ((inputframe.at<uint8_t>(j,i)<m_LowHSVThreshValue0) || (inputframe.at<uint8_t>(j,i)>m_HighHSVThreshValue0))
                {
                    outputframe.at<uint8_t>(j,i)=black;
                }
                else
                {
                    outputframe.at<uint8_t>(j,i)=white;
                }
            }
        }
        m_Tracker_On=true;

        cout << "now tracker on " << endl;
    }
    else
    {
        for (int i=0; i<m_ROISize*2;i++)
        {
            for (int j=0; j<m_ROISize*2;j++)
            {
                if (inputframe.at<uint8_t>(j,i)<m_LowHSVThreshValue || inputframe.at<uint8_t>(j,i)>m_HighHSVThreshValue)
                {
                    outputframe.at<uint8_t>(j,i)=black;
                }
                else
                {
                    outputframe.at<uint8_t>(j,i)=white;
                }
            }
        }
    }
}

Сначала я подумал, что это проблема типа, как будто я пытался получить доступ к типу переменной большего размера, чем 8 бит, но я использую только uint8, поэтому я не знаю ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...