【发布时间】:2015-03-22 22:55:10
【问题描述】:
我在 C 中创建了一个包含图像文件名的文件。代码如下(“叶子”是图像数据集。我将图像名称存储在文件中):
FILE *fp;
system("dir /B D:\\opencvprojects\\platphenotypeFinal\\platphenotypeFinal\\Leaves > file.txt");
file.txt 看起来像这样:
1001.jpg
1002.jpg
1003.jpg
1004.jpg
1005.jpg
1006.jpg
1007.jpg
现在我想从文件中读取每个图像,在 openCV 中进行背景减法,并将所有这些图像的结果保存在另一个文件中。
OriginalImage=cvLoadImage("Leaves\\1007.jpg",CV_LOAD_IMAGE_GRAYSCALE);
我知道如何读取单个图像(使用上面的代码),但我想自动读取文件的每个图像,进行处理,并将结果保存到另一个文件中,并且该过程继续循环直到所有图像都得到处理。因此,将生成一个输出文件,其中包含二进制图像的文件名(与输入文件名相同)。
非常感谢您的帮助。
int main()
{
CvMoments moments;
CvMemStorage *connectedCompStorage = cvCreateMemStorage (0);
CvSeq *temp = NULL; //used to loop through contour perimeter checking
CvSeq *connectedComp = NULL;
FILE *fp;
char buffer[9];
system("dir /B D:\\opencvprojects\\platphenotypeFinal\\platphenotypeFinal\\Leaves > file.txt");
fp = fopen ("file.txt", "r+");
OriginalImage = cvLoadImage("Leaves\\1108.jpg",CV_LOAD_IMAGE_GRAYSCALE);
}
【问题讨论】:
-
抱歉,但是不,抱歉。在 2015 年,C 不再是 opencv 的有效选择。该死的梦想,但你现在必须使用 c++..
-
你能帮我写一下 C++ 代码吗?
-
请发布您目前所拥有的并告诉我们它是如何失败的
-
file.txt 使用上述图像的文件名成功创建。但是,我不知道如何从 file.txt 自动访问 CvloadImage 中的文件名。目前我正在使用一个正常工作的图像(即“Leaves \\1108.jpg”)。请指教。