定义一个灰度图像类Image 数据成员 (private): 图像的宽度、图像的高度、图像的像素值 (int value[200][200]) 成员函数 (public): 图像初始化(图像中每个像素的灰度值为一个随机产生的0~255之间的值) 读取某个指定位置的像素值 设置某个指定位置的像素值 计算整个图像中所有像素值的平均值 显示整个图像的像素值。
时间: 2024-03-24 17:35:41 浏览: 11
好的,以下是代码实现:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class Image {
private:
int width; // 图像宽度
int height; // 图像高度
int value[200][200]; // 图像像素值
public:
// 构造函数
Image(int w, int h) {
width = w;
height = h;
// 随机初始化图像像素值
srand(time(NULL));
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
value[i][j] = rand() % 256;
}
}
}
// 读取某个指定位置的像素值
int getPixelValue(int x, int y) {
return value[y][x];
}
// 设置某个指定位置的像素值
void setPixelValue(int x, int y, int v) {
value[y][x] = v;
}
// 计算整个图像中所有像素值的平均值
double getAveragePixelValue() {
int sum = 0;
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
sum += value[i][j];
}
}
return (double)sum / (width * height);
}
// 显示整个图像的像素值
void display() {
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
cout << value[i][j] << " ";
}
cout << endl;
}
}
};
int main() {
Image img(10, 10);
cout << "Average pixel value: " << img.getAveragePixelValue() << endl;
cout << "Pixel value at (5, 5): " << img.getPixelValue(5, 5) << endl;
img.setPixelValue(5, 5, 128);
cout << "Pixel value at (5, 5): " << img.getPixelValue(5, 5) << endl;
img.display();
return 0;
}
```
在这个实现中,我们定义了一个 `Image` 类,其中包含了图像的宽度、高度和像素值。构造函数随机初始化了像素值。`getPixelValue` 和 `setPixelValue` 分别用于读取和设置某个指定位置的像素值。`getAveragePixelValue` 用于计算整个图像中所有像素值的平均值。`display` 用于显示整个图像的像素值。
在 `main` 函数中,我们通过创建一个 `Image` 对象来测试这些函数的功能。
阅读全文