Я пытаюсь прочитать изображение с использованием Метод Highgui.imread в открытом CV/Java, но он возвращает пустую матрицу, хотя я уверен, что путь к изображению верен.Java - Highgui.imread возвращает пустую матрицу
public static void main(String[] args) {
// TODO Auto-generated method stub
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
File fileName1 = new File("learning_image.jpeg");
File fileName2 = new File("test_image.jpeg");
Mat learningImage = Highgui.imread(fileName1.getAbsolutePath(),Highgui.CV_LOAD_IMAGE_GRAYSCALE);
Mat testImage = Highgui.imread(fileName2.getAbsolutePath(),Highgui.CV_LOAD_IMAGE_GRAYSCALE);
System.out.println("learningImage size (cols,rows) "+learningImage.size());
System.out.println("testImage size (cols,rows) "+testImage.size());
}
Выход составляет: -
learningImage размера (смещ_по_столбцы, строка) 0x0
testImage размера (смещ_по_столбцы, строка) 0x0
Путь изображения имеет пустое пространство "C: \ Users \ Имя пользователя \ Documents \ Затмения \ JavaTestOpenCV \ learning_image.jpeg" ....... Может это вызвать проблемы ? – Anonymous
У вас была опечатка в вашем файле? Здесь я не вижу пробелов в вашем примере. Опечатка объяснила бы ваш результат, хотя - поскольку это недостающий файл для читателя. – ozborn
Я предполагаю, что вы на Windows? Нет, вы должны иметь возможность открыть файл с пробелом. Я предполагаю, что вы неправильно ссылаетесь на файл - зачем вы передаете fileName1.getAbsolutePath() в своей функции? Каково имя вашего каталога программ и вашего каталога файлов? Поместите все в один каталог (если возможно) и избавитесь от getAbsolutePath(), и он, вероятно, сработает. – ozborn