Авто добавление скринов в проект

Для добавления изображений в проект можно использовать функцию cv::imread(), которая загружает изображение из файла в матрицу типа cv::Mat. Затем можно создать вектор std::vector<cv::Mat>, чтобы хранить все изображения, и добавлять новые изображения в вектор при каждом нажатии на кнопку.

Например, можно создать класс ImageLoader, который будет иметь вектор для хранения изображений и метод loadImage() для загрузки изображения в вектор:

C++Выделить код

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

#include <vector>
#include <opencv2/opencv.hpp>
 
class ImageLoader {
public:
    std::vector<cv::Mat> images;
 
    void loadImage(std::string filename) {
        cv::Mat img = cv::imread(filename);
        if (img.empty()) {
            std::cerr << "Error loading image: " << filename << std::endl;
            return;
        }
        images.push_back(img);
    }
};

Затем можно создать экземпляр этого класса в коде Windows Forms, и добавить обработчик события для кнопки, который вызывает метод loadImage() и передает ему имя файла:

C++Выделить код

1
2
3
4
5
6

ImageLoader loader;
 
void button_Click(Object^ sender, EventArgs^ e) {
    std::string filename = "screen\mudrost.bmp"; // имя файла, которое нужно загрузить
    loader.loadImage(filename);
}

Таким образом, при каждом нажатии на кнопку будет загружаться новое изображение в вектор loader.images, которое затем можно использовать в коде OpenCV.

Примечание: чтобы использовать библиотеку OpenCV в проекте Windows Forms, нужно настроить пути к заголовочным файлам и библиотекам в свойствах проекта.