[问题] 影像加载出错 [已解决]

楼主: LCY1983 (阳光男)   2015-04-20 19:16:15
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Visual Studio 2010 C++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
OpenCV
问题(Question):
imread读入影像路径后,却发现是空的
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
#include <cv.h>
#include <highgui.h>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/opencv.hpp>
#include "iostream"
#include <vector>
#include <fstream>
using namespace cv;
using namespace std;
void getDir(const char* d, vector<string> & f)
{
FILE* pipe = NULL;
string pCmd = "dir /b /s " + string(d);
char buf[256];
if( NULL == (pipe = _popen(pCmd.c_str(),"rt")))
{
cout<<"Shit"<<endl;
return;
}
while (!feof(pipe))
{
if(fgets(buf,256,pipe) != NULL)
{
f.push_back(string(buf));
}
}
_pclose(pipe);
}
int main(int argc, char* argv[])
{
vector<string> files;
getDir("Z:\\Bryant\\试片受潮测试\\20150414\\10\\2nd\\myfilename000.tiff",
files);
string str=files[0];
Mat original_image;
original_image=imread(str);
system("pause");
return 0;
}
补充说明(Supplement):
build up是成功的
可是,设中断点于original_image时候
于区域变量看到dims竟然是0
data那里出现 错误Ptr (无法评估运算式)
请问各位高手,是哪里出问题?
这问题困扰我3天了,寻遍各种方法皆无效
谢谢大家帮忙
作者: bdvstg (bdvstg)   2015-04-20 22:01:00
你直接imread那个路径也不行? 为什么要经过那个getDir?
楼主: LCY1983 (阳光男)   2015-04-20 22:07:00
给定绝对路径当然可以,我要从大量影像中,将所有myfilename000.tiff 进行批次处理
作者: suhorng ( )   2015-04-20 22:09:00
如果路径中都没有中文呢
楼主: LCY1983 (阳光男)   2015-04-20 22:14:00
尝试过楼上大大的说法,依旧不行><
作者: suhorng ( )   2015-04-20 22:34:00
突然想到 fgets 是不是会把 '\n' 一起读进来确认过 files 的内容了吗? 有没有不该出现的空白字符之类
楼主: LCY1983 (阳光男)   2015-04-20 22:38:00
files的内容是影像路径没错Z:\Bryant\试片受潮测试\20150414\10\2nd\子目录\myfilename000.tiff
作者: bdvstg (bdvstg)   2015-04-21 12:30:00
可以的话那你有没有把files[0]印出来看看?还有既然要批次的话 路径为什么不是用*.tiff ?然后你确定myfilename000.tiff是可以用opencv读的?
作者: GoIt (冻物。)   2015-04-21 13:19:00
问题在getDir… 你是要读终端机的字串吗
楼主: LCY1983 (阳光男)   2015-04-21 13:22:00
没错,要读终端机字串
作者: GoIt (冻物。)   2015-04-21 13:30:00
改一下pCmd就没问题了
楼主: LCY1983 (阳光男)   2015-04-21 13:32:00
请问要如何改呢?能否具体说明?
作者: GoIt (冻物。)   2015-04-21 17:35:00
你路径\\改成 \就可以了……应该是喂回去cv的字串问题@@
作者: Fracon (派大星粉丝俱乐部)   2015-04-21 19:52:00
lib是dubug还是release? 可能会有这问题

Links booklink

Contact Us: admin [ a t ] ucptt.com