Регистрация
21 Авг 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
Привет! Нужно написать программу, которая разделит экран так что бы в центре экрана был квадрат и программа должна внутри этого квадрата искать фиолетовый пиксель, если программа обнаружила то нажимается ЛКС.

Спасибо!
 
#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
 
11100001010100010110100101001010111001111100000000011101010011010101000010100001111110101010101001010100010100101000011111111000101, надеюсь был полезен
 
#include

// Функция для проверки наличия фиолетового пикселя внутри квадрата
bool checkForPurplePixel(int screenWidth, int screenHeight, int squareSize) {
// Предположим, что у нас есть функция getPixelColor(x, y), которая возвращает цвет пикселя по координатам x, y

// Находим координаты верхнего левого угла квадрата
int squareX = (screenWidth - squareSize) / 2;
int squareY = (screenHeight - squareSize) / 2;

// Проверяем каждый пиксель внутри квадрата
for (int x = squareX; x < squareX + squareSize; x++) {
for (int y = squareY; y < squareY + squareSize; y++) {
// Получаем цвет пикселя
Color pixelColor = getPixelColor(x, y);

// Проверяем, является ли пиксель фиолетовым (пример условия для фиолетового цвета)
if (pixelColor.red < 100 && pixelColor.blue > 150 && pixelColor.green < 100) {
return true; // Если нашли фиолетовый пиксель, возвращаем true
}
}
}

return false; // Если не нашли фиолетовый пиксель, возвращаем false
}

int main() {
int screenWidth = 1920; // Ширина экрана
int screenHeight = 1080; // Высота экрана
int squareSize = 200; // Размер квадрата

if (checkForPurplePixel(screenWidth, screenHeight, squareSize)) {
// Если обнаружен фиолетовый пиксель, нажимаем ЛКС
std::cout
 
Назад
Сверху