Вопрос задан 01.07.2023 в 12:47. Предмет Информатика. Спрашивает Пилипчук Эльвира.

40 БАЛЛОВ!!! С++ C++ Пиксели рисунка закодированы числами от 0 до 255 (обозначающими яркость

пикселей) в виде матрицы, содержащей 4 строки и 4 столбца. Нужно преобразовать рисунок в черно-белый по следующему алгоритму: -- Вычислить среднюю яркость пикселей по всему рисунку -- Все пиксели, яркость которых меньше средней, сделать черными(записать код 0), а остальные - белыми(код 255).
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Митюгина Дариненок.

Ответ:

#include <iostream>

using namespace std;

int main(){

unsigned short int Picture[4][4];

unsigned short int AverageBrightness = 0;

 

for(unsigned short int y = 0;y < 4;y++){

 for(unsigned short int x = 0;x < 4;x++){

  std::cin >> Picture[y][x];

  AverageBrightness = AverageBrightness + Picture[y][x];

 }

}

AverageBrightness = AverageBrightness / 16;

 

for(unsigned short int y = 0;y < 4;y++){

 for(unsigned short int x = 0;x < 4;x++){

  if(Picture[y][x] < AverageBrightness){

   Picture[y][x] = 0;

  }else{

   Picture[y][x] = 255;

  }

 }

}

 

for(unsigned short int y = 0;y < 4;y++){

 for(unsigned short int x = 0;x < 4;x++){

  std::cout << Picture[y][x];

 }

}

 

return 0;

}

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я помогу вам написать программу на C++, чтобы выполнить указанное преобразование изображения. Вот код, который реализует описанный вами алгоритм:

cpp
#include <iostream> const int ROWS = 4; const int COLS = 4; int main() { // Матрица с исходными яркостями пикселей int pixels[ROWS][COLS] = { {100, 150, 200, 50}, {75, 220, 30, 180}, {210, 90, 120, 160}, {40, 170, 240, 70} }; // Вычисление средней яркости int totalBrightness = 0; for (int i = 0; i < ROWS; ++i) { for (int j = 0; j < COLS; ++j) { totalBrightness += pixels[i][j]; } } int averageBrightness = totalBrightness / (ROWS * COLS); // Преобразование пикселей по алгоритму for (int i = 0; i < ROWS; ++i) { for (int j = 0; j < COLS; ++j) { if (pixels[i][j] < averageBrightness) { pixels[i][j] = 0; // Черный } else { pixels[i][j] = 255; // Белый } } } // Вывод результатов std::cout << "Исходное изображение:" << std::endl; for (int i = 0; i < ROWS; ++i) { for (int j = 0; j < COLS; ++j) { std::cout << pixels[i][j] << " "; } std::cout << std::endl; } return 0; }

Программа начинает с создания матрицы pixels, представляющей яркости пикселей в изображении. Затем она вычисляет среднюю яркость пикселей и преобразует пиксели в соответствии с описанным алгоритмом. Результат выводится на экран.

Обратите внимание, что вам нужно будет подставить свои значения яркостей пикселей в матрицу pixels в коде выше.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос