Ошибка в коде: OpenCV(4.1.0) Error: Assertion failed ((unsigned)i0 < (unsigned)size.p[0])

115
14 марта 2021, 22:50

Когда запускаю программу, Visual Studio показывает мне код из файла mat.inl.hpp, где говорит, что некое исключение не было обработано. Вот код:

Mat src = imread("C:/Users/Archi/Desktop/game.png");
Mat hsv = Mat(src.cols, src.rows, 8, 3);
vector<Mat> splitedHsv = vector<Mat>();
cvtColor(src, hsv, COLOR_BGR2HSV);
split(hsv, splitedHsv);
const int ORANGE_MIN = 10;
const int ORANGE_MAX = 15;
for (int y = 0; y < hsv.cols; y++)
{
    for (int x = 0; x < hsv.cols; x++)
    {
        int H = static_cast<int>(splitedHsv[0].at<uchar>(x, y)); // тон
        int S = static_cast<int>(splitedHsv[1].at<uchar>(x, y)); // интесивность
        int V = static_cast<int>(splitedHsv[2].at<uchar>(x, y)); // яркость
        if ((V < 97) || (H < ORANGE_MIN) || (H > ORANGE_MAX))
        {
            src.at<Vec3b>(x, y)[0] = 255;
            src.at<Vec3b>(x, y)[1] = 255;
            src.at<Vec3b>(x, y)[2] = 255;
        }
    }
}
Mat tmp;
imshow("All сells", src);
imshow("Only one", tmp);
waitKey(0);
destroyAllWindows();

Answer 1

если в C:/Users/Archi/Desktop/game.png размер по горизонтали и вертикали будет совпадать, то код будет работать. Ошибка здесь

for (int y = 0; y < hsv.cols; y++)
{
    for (int x = 0; x < hsv.cols; x++)

в одном с циклов должно быть rows, а не cols

READ ALSO
Как сделать такой блок (RoadMap)?

Как сделать такой блок (RoadMap)?

Подскажите пожалуйста как сделать такой блок? Если точнее, то именно первую часть задачи (линия с анимацией),не знаю как сделать изогнутые...

95
Футер не привязывается к концу страницы

Футер не привязывается к концу страницы

В мобильном режиме футер поднимается над основным контентом

77
Можно ли использовать *ngIf и *ngFor одновременно

Можно ли использовать *ngIf и *ngFor одновременно

Можно ли использовать в одном селекторе в Angular7 использовать *ngIf и *ngFor как тут

108