1
를 생략하고있다 : 1.jpg
, 3.jpg
, 4.jpg
, 6.jpg
, 8.jpg
, 10.jpg
, 15. jpg
, ... 100.jpg
, 102.jpg
, 103.jpg
, 113.jpg
등 .dirent.h를 사용하지만, 파일 I라는 이름의 폴더에 수백 개의 이미지가
나는 파일을 반복하는 dirent.h
를 사용하고 있지만, 어떻게 든 dirent.h
10.jpg
에서 시작하고 제공하는 다음 파일이 갑자기 100.jpg
다음 102.jpg
이다는 ... 왜 일부 이미지를 건너 뛸 수 있습니까?
int main (int argc, const char* argv[])
{
cv::Mat image;
DIR *dir;
struct dirent *ent;
if ((dir = opendir ("C:\\Users\\Faraz\\Desktop\\Project\\detecting_false_positives_stuff\\face_images\\faces\\")) != NULL) {
ent = readdir (dir);
printf ("%s\n", ent->d_name);
ent = readdir (dir);
printf ("%s\n", ent->d_name);
while ((ent = readdir (dir)) != NULL) {
printf ("%s\n", ent->d_name);
std::string fullPath = std::string("C:\\Users\\Faraz\\Desktop\\Project\\detecting_false_positives_stuff\\face_images\\faces\\") + ent->d_name;
cout<<fullPath;
image = cv::imread(fullPath);
...
}
closedir (dir);
}
return 1;
}
오, 그래서 순서가 다릅니 까? 이것은 결국 나는 1.jpg, 3.jpg 등을 통해 반복 될 것임을 의미합니다. – farahm
예, 결국 1.jpg 등이됩니다. – Unknown
파일이 숫자가 아니라 이름순으로 * 영문자 순으로 정렬 된 것처럼 보입니다. 따라서 주문 1.jpg, 10.jpg, 105.jpg, 2.jpg. 올바른 어휘 순서로 원하면 숫자 뒤에 0을 붙입니다. –