Переделай код, чтобы строилась гистограмма исходного изображения и преобразованного изображения. private void histogramImage() {
		// Создаем гистограмму изображения
		int[] histogram = new int[256];
		for (int i = 0; i < image.getWidth(); i++) {
		for (int j = 0; j < image.getHeight(); j++) {
		int pixel = image.getRGB(i, j);
		int red = (pixel >> 16) & 0xff;
		int green = (pixel >> 8) & 0xff;
		int blue = pixel & 0xff;
		// Вычисляем яркость пикселя
		int brightness = (int) (0.2126 * red + 0.7152 * green + 0.0722 * blue);
		histogram[brightness]++;
		}
		}

		// Создаем гистограмму преобразованного изображения
		int[] transformedHistogram = new int[256];
		BufferedImage transformedImage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
		// your code to transform the original image goes here and stores the result in transformedImage
		for (int i = 0; i < transformedImage.getWidth(); i++) {
		for (int j = 0; j < transformedImage.getHeight(); j++) {
		int pixel = transformedImage.getRGB(i, j);
		int red = (pixel >> 16) & 0xff;
		int green = (pixel >> 8) & 0xff;
		int blue = pixel & 0xff;
		int brightness = (int) (0.2126 * red + 0.7152 * green + 0.0722 * blue);
		transformedHistogram[brightness]++;
		}
		}

		// Создаем окно для отображения гистограмм
		JFrame histogramFrame = new JFrame("Гистограмма");
		histogramFrame.setLayout(new GridLayout(1, 2, 5, 5));

		// Создаем панель для первой гистограммы (исходного изображения)
		JPanel histogramPanel1 = new JPanel();
		histogramPanel1.setLayout(new BorderLayout());
		histogramPanel1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Исходное изображение"));

		// Создаем компонент для рисования гистограммы изображения
		JPanel histogramComponent1 = new JPanel() {
		@Override
		protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		int max = Arrays.stream(histogram).max().getAsInt();
		for (int i = 0; i < 256; i++) {
		int height = (int) (300.0 * histogram[i] / max);
		g.fillRect(i, 300 - height, 1, height);
		}
		}
		};
		histogramComponent1.setPreferredSize(new Dimension(256, 300));

		histogramPanel1.add(histogramComponent1, BorderLayout.CENTER);

		// Создаем панель для второй гистограммы (преобразованного изображения)
		JPanel histogramPanel2 = new JPanel();
		histogramPanel2.setLayout(new BorderLayout());
		histogramPanel2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Преобразованное изображение"));

		// Создаем компонент для рисования гистограммы преобразованного изображения
		JPanel histogramComponent2 = new JPanel() {
		@Override
		protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		int max = Arrays.stream(transformedHistogram).max().getAsInt();
		for (int i = 0; i < 256; i++) {
		int height = (int) (300.0 * transformedHistogram[i] / max);
		g.fillRect(i, 300 - height, 1, height);
		}
		}
		};
		histogramComponent2.setPreferredSize(new Dimension(256, 300));

		histogramPanel2.add(histogramComponent2, BorderLayout.CENTER);

		histogramFrame.add(histogramPanel1);
		histogramFrame.add(histogramPanel2);
		histogramFrame.pack();
		histogramFrame.setLocationRelativeTo(null);
		histogramFrame.setVisible(true);
		}