powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Запись в массив значений цветовой модели изображения
4 сообщений из 4, страница 1 из 1
Запись в массив значений цветовой модели изображения
    #38211979
Rubaki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, проверил весь цикл, всё оказывается рабочим кроме заполнения конечного массива, при записи в массив ограничивается двумерный массив значениями i = 0 ,а j проходит полностью.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
import java.awt.Color;
import java.awt.Image;
import java.awt.image.BufferedImage;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Rubaki
 */

public class Chek {
    private BufferedImage image;


    public Chek(Image img) {
        image = (BufferedImage) img;
    }
    
    public void ras4et(){
        //Color [][] result = new Color[image.getHeight()][image.getWidth()];
        int [][] redMatrix = new int[image.getHeight()][image.getWidth()];
        System.out.println(image.getHeight()+ " "+ image.getWidth() + "\n");
        
                    for (int i = 0; i < redMatrix.length; i++) { 
                        System.out.println(" " +i);
                        for (int j = 0; j < redMatrix[i].length; j++) {
                            System.out.print(" " +j);
                    //redMatrix[i][j] = new Color(image.getRGB(i, j)).getRed();
                           redMatrix[i][j] = i + j;
                    System.out.println("Цикл"+ " " +i +" "+ j +" "+ redMatrix[i][j] +" "+ new Color(image.getRGB(i, j)).getRed());
                        }
                    }
    }
    
}
...
Рейтинг: 0 / 0
Запись в массив значений цветовой модели изображения
    #38212312
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
image.getHeight() точно логируется больше 1?
...
Рейтинг: 0 / 0
Запись в массив значений цветовой модели изображения
    #38212880
Rubaki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да размеры норм выводит. Уже разобрался с вопросом.Всем спасибо.
...
Рейтинг: 0 / 0
Запись в массив значений цветовой модели изображения
    #38212899
Rubaki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вышло вот так: Как я понимаю new Color(image.getRGB(j, i)) требует только массива типа Color и не получалось записать значения в массив типа int, и понятно т.к. он выводит 3 значения r g b, а вот когда мы выполняем метод и берём какой-то конкретный метод цвета, то уже значение получается типа int. Только вот не совсем понимаю перестановку значений пробегающих по циклу в строке result[i][j] = new Color(image.getRGB(j, i)); Если в getRGB(j, i) не менять переменные цикла, то всё равно не хочет работать, а так, что очень странно работает на весь цикл шириной и длиной изображения. Да и вроде не выводится один и тот-же цикл (Проверял значения со сменой переменных цикла).

import java.awt.Color;
import java.awt.Image;
import java.awt.image.BufferedImage;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Ameliya
*/
public class ModelProject {
private BufferedImage image;
private double summ;
private double M;
private double param;
private double D;

public ModelProject(Image img) {
image = (BufferedImage) img;
}

public void Matrix(){
Color[][] result = new Color[image.getHeight()][image.getWidth()];
int[][] redMatrix = new int[image.getHeight()][image.getWidth()];
int[][] greenMatrix = new int[image.getHeight()][image.getWidth()];
int[][] blueMatrix = new int[image.getHeight()][image.getWidth()];
double[][] grayScale = new double[image.getHeight()][image.getWidth()];
M = 0;
param = 0;

for (int i = 0; i < result.length; i++) {
for (int j = 0; j < result[i].length; j++) {
//i - высота
//j - ширина
result[i][j] = new Color(image.getRGB(j, i));
redMatrix[i][j] = (result[i][j]).getRed();
greenMatrix[i][j] = (result[i][j]).getGreen();
blueMatrix[i][j] = (result[i][j]).getBlue();
grayScale[i][j] = (0.299 * redMatrix[i][j] + 0.587 * greenMatrix[i][j] + 0.114 * blueMatrix[i][j]);
summ = summ + grayScale[i][j];
}
}
}
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Запись в массив значений цветовой модели изображения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]