|
|
|
Запись в массив значений цветовой модели изображения
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, проверил весь цикл, всё оказывается рабочим кроме заполнения конечного массива, при записи в массив ограничивается двумерный массив значениями 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 23:25:25 |
|
||
|
Запись в массив значений цветовой модели изображения
|
|||
|---|---|---|---|
|
#18+
image.getHeight() точно логируется больше 1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2013, 10:17:49 |
|
||
|
Запись в массив значений цветовой модели изображения
|
|||
|---|---|---|---|
|
#18+
Да размеры норм выводит. Уже разобрался с вопросом.Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2013, 14:12:45 |
|
||
|
Запись в массив значений цветовой модели изображения
|
|||
|---|---|---|---|
|
#18+
Вышло вот так: Как я понимаю 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]; } } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2013, 14:22:06 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2129625]: |
0ms |
get settings: |
12ms |
get forum list: |
23ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
47ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
60ms |
get tp. blocked users: |
3ms |
| others: | 276ms |
| total: | 454ms |

| 0 / 0 |
