2013-05-22 5 views
1

Я новичок в этой концепции, и я считаю, что это должен быть самый глупый вопрос, который задают здесь. Я знаю, но я не уверен.чтение изображения с использованием argv

image = imread(argv[1], CV_LOAD_IMAGE_COLOR); 

Моя проблема, чтение изображения с использованием imread в OpenCV, я вижу в образцах, которые они используют функцию ARGV [1]. Моя путаница в том, что где изображение должно храниться так, чтобы я мог читать этот метод команды.

Мое изображение хранится на рабочем столе в папке. Моя программа также находится на рабочем столе с именем. image.cpp.

Где я должен поместить изображение, чтобы я мог использовать командную строку для его чтения.

+0

Место в любом месте, где у вас есть доступ на чтение. – juanchopanza

+0

Вы должны указать путь изображения как второй аргумент командной строки. например 'program.exe C:/Пользователи/Пользователь/Рабочий стол/Папка/image.jpg' – sgarizvi

ответ

3

Если вы просто хотите проверить некоторые OpenCV Funciton, вы можете просто определить
char* file_path = "c:/.../image.jpg"; Затем вы можете загрузить этот файл

image = imread(file_path, CV_LOAD_IMAGE_COLOR); 
2

Вы можете вызвать его как:

программы [Файл]

где программа является название вашей программы. В окнах это, вероятно, будет program.exe. Все, что вы помещаете в [файл], будет передано вашей программе в argv [1]. Если они оба находятся в том же каталоге, вы можете сделать:

программа file.jpg

Если файл находится в другом каталоге, чем программы вам нужно будет указать полный путь (или относительный путь от одного к другому). Вы можете поэкспериментировать, написав простую программу, которая печатает argv [1], чтобы убедиться, что вы понимаете, как все работает (сначала избегайте сложности OpenCV).

1

Поместите изображение в любом месте. Просто передайте путь к файлу в командной строке. Как упоминалось в комментарии juanchopanza, у вас должно быть разрешение на чтение файла.

Смежные вопросы