Обработка изображений java

Я полный новичок в java. В моем последнем году работы я должен сделать что-то, связанное с обработкой изображений в реальном времени. Сейчас я пытаюсь преобразовать программу Matlab в Java с помощью JavaCv. Я действительно не смогу разобраться с 3-D martrix. Вот 3 вопроса.

  1. Получить красный компонент из трехмерного изображения RGB: код Matlab: Red=I(:,:,1); Код Java: cvInRangeS(imgRGB, cvScalar(0, 0, 0, 0), cvScalar(255, 0, 0, 0), imgR); Можно ли сделать это в java?

  2. В 1-D матрице, как преобразовать следующий код в java? Код Matlab: imgB(find(imgA~=0))=255; Код Matlab означает, что вставьте int 255 в imgB для каждого ненулевого пикселя из imgA.

  3. Могу ли я извлечь координаты из одномерного изображения типа IplImage? Если да, как это сделать?


person Rick Lai    schedule 27.01.2013    source источник


Ответы (1)


1 - Получить R из трехмерного изображения RGB Код Matlab: Red = I (:,:, 1); Код Java: cvInRangeS (imgRGB, cvScalar (0, 0, 0, 0), cvScalar (255, 0, 0, 0), imgR); Могу ли я сделать это в Java?

если вы хотите получить на изображении красный цвет, попробуйте следующее:

    BufferedImage image = ImageIO.read(new File("////////image path"));
    for (int i = 0; i < image.getWidth(); i++) {
        for (int j = 0; j < image.getHeight(); j++) {
            Color c = new Color(image.getRGB(i, j));
            int red = c.getRed();//////////here you get the Red color , you can make it array 2D 
            System.out.println(red);
        }
    }

2- В 1-D матрице, как преобразовать следующий код в java? Код Matlab: imgB (find (imgA ~ = 0)) = 255; Код Matlab означает, что вставьте int 255 в imgB для каждого ненулевого пикселя из imgA.

ты можешь сделать это

  for (int i = 0; i < imgA.getWidth(); i++) {
        for (int j = 0; j < imgA.getHeight(); j++) {
            if (Color.BLACK.getRGB() != imgA.getRGB(i, j)) {
                imgB.setRGB(i, j, 255);
            }
        }

Примечание. Использование BufferedImage для определения изображений

person Alya'a Gamal    schedule 27.01.2013