#include
#include
// Допустим, это функция для симуляции клика мыши.
// Определение будет зависеть от операционной системы.
void clickMouse(int x, int y);
int main() {
cv::Mat screen;
// Замени 'your_screen_capture_function()' на функцию захвата экрана
screen = your_screen_capture_function();
// Определяем центральную область экрана
cv::Rect centerRect(screen.cols / 4, screen.rows / 4, screen.cols / 2, screen.rows / 2);
cv::Mat centerArea = screen(centerRect);
// Ищем фиолетовый пиксель
cv::Mat mask;
cv::inRange(centerArea, cv::Scalar(128, 0, 128), cv::Scalar(140, 60, 140), mask);
cv::Point point;
bool found = false;
for (int y = 0; y < mask.rows && !found; ++y) {
for (int x = 0; x < mask.cols; ++x) {
if (mask.at(y, x) == 255) { // Нашли фиолетовый пиксель
point.x = x + centerRect.x;
point.y = y + centerRect.y;
found = true;
break;
}
}
}
if (found) {
std::cout << "Найден фиолетовый пиксель: " << point << std::endl;
clickMouse(point.x, point.y);
} else {
std::cout << "Фиолетовый пиксель не найден." << std::endl;
}
return 0;
}
void clickMouse(int x, int y) {
// Здесь должна быть реализация функции клика мыши.
// Это будет зависеть от твоей операционной системы.
}
Обрати внимание: код выше лишь показывает направление и не будет работать "из коробки", так как требуется реализация функции захвата экрана (your_screen_capture_function()) и функции клика мыши (clickMouse()), которые зависят от твоей операционной системы. Для этих целей потребуется использовать специфические API или библиотеки.
Капиталист КоллаборацияМудрец (11460)
1 месяц назад
4. Многопоточность
Хотя Python поддерживает многопоточность через модуль threading, из-за глобальной блокировки интерпретатора (GIL) выполнение кода может не быть по-настоящему параллельным, что ограничивает производительность приложений, особенно на многоядерных процессорах. C++ предоставляет более мощные и гибкие возможности для создания многопоточных приложений без таких ограничений.
Спасибо!