当我尝试使用此命令时:opencv_createsamples -img image.jpg -bg bg.txt -info /info/info.lst -pngoutput info -num 2600
它告诉我:无效的背景说明文件。
我现在尝试过:
./neg/1.jpg
./net/2.jpg
没用。
./neg/1.jpg
./neg/2.jpg
没有用。
neg/1.jpg
neg/2.jpg
同样的问题
neg/1.jpg
neg/2.jpg
也不行。 有任何想法吗??我真的需要帮助。 谢谢 FritzFurtz
答案 0 :(得分:5)
我遇到了同样的问题并尝试了很多不同的东西(在bg.txt中添加完整的路径名,转换为UTF-8,......) - 导致看起来略有不同的错误 - 但仍然没有成功。我正在关注这个tutorial - 我正在准备我的Windows笔记本电脑上的所有文件。然后将它们推送到ubuntu服务器。
然后我读到它可能是由于行结尾(CLRF和LF)不同而检查了我的文件(在ubuntu服务器上):
$ file bg.txt
bg.txt: UTF-8 Unicode (with BOM) text, with CRLF line terminators
我从dos2unix转换了文件:
$ sudo apt install dos2unix
$ dos2unix bg.txt
dos2unix: converting file bg.txt to Unix format ...
$ file bg.txt
bg.txt: ASCII text
现在opencv_createsamples命令工作了。
答案 1 :(得分:1)
我遇到了同样的问题而且非常令人沮丧。但现在它已经解决了。
您的背景说明文件中的 1) CTRL + A ; CTRL + C;
可复制其所有内容。
2)创建新的背景说明文件(例如:bg2.txt)和CTRL + V
以粘贴您复制的所有内容。保存它。
3)再次运行您的命令,当然使用新的bg描述文件(-bg bg2.txt)。
它对我有用,可能适合你。
干杯,
Geraldo Neto
答案 2 :(得分:1)
我遇到了完全相同的问题。我尝试更改bg.txt
编码,但没有任何区别。我在Ubuntu服务器上删除了所有OpenCV实例并重新启动。我打字:
git clone https://github.com/Itseez/opencv.git
进入终端。
下载后,重新启动服务器并继续:
opencv_createsamples -img image.jpg -bg bg.txt -info /info/info.lst -pngoutput info -num 1500
这似乎修复了我的"无效的背景说明文件"错误。
请记住,我尝试创建一个新文件夹,并添加一个新的OpenCV下载,以便在单独的项目中使用,它只是复制了我现有的文件。
在重新启动并重新加载之前删除OpenCV文件夹的所有实例!
答案 3 :(得分:0)
我也有这个问题,我通过将bg.txt的编码更改为UTF-8来解决它。此外,我的文件看起来像:
neg/1.jpg
neg/2.jpg
答案 4 :(得分:0)
在Linux(Ubuntu)上添加一个空行doe snot工作。文件采用utf-8编码。解决了从“linux”到“dos”行结束格式的转换。