MFC批量读取图片-Opencv

MFC批量读取图片并显示
1、首先在图片的文件夹下生成图片的路径(可以是相对路径和绝对路径:其中,相对路径是指图片相对打开的txt的路径)
2、定义一个CStdioFile类的对象例如:CStdioFile ImPath,(详细了解,可按F1可知道其成员函数等),然后,用IMPath.Open(“(txt文件位置)”,CFile::modeRead);其中,CStdioFile是继承CFile的类。
当成功打开,Open函数返回非0,否则为0,因此可以根据返回值是否为0来判断是否打开文件。
3、从txt文件中循环读每一行的内容,并存在字符串中。
(1)这里需要注意的是,使用CStdioFile::ReadString函数读取每一行的数据,并将每一行的数据存到字符串中,(要先定义多个字符串,例如:CString ImPathName[40000];)
对于CStdioFile::ReadString,有两种类型:

virtual LPTSTR ReadString(
LPTSTR lpsz,
UINT nMax
);
virtual BOOL ReadString(
CString& rString
);

参数解释:
lpsz
Specifies a pointer to a user-supplied buffer that will receive a null-terminated text string.

nMax
Specifies the maximum number of characters to read, not counting the terminating null character.

rString
A reference to a CString object that will contain the string when the function returns.

// 第一种方式是限制最多读的字符个数
// 第二种方式可以读取整个txt文件的内容,并且每一行的数据读完之后,如果使用循环的话,将会继续读取下一行文件,直到读完最后一行,使用ImPathName[imn].GetLength() < 2(2根据情况而定)判断是否读完文件,这里我们需要进一步了解GetLength()函数.

(2)GetLength()函数:获得当前字节文件的逻辑长度,而不是数量。
返回值:该文件的长度,返回字符串中的字节计数。
说明:这个成员函数用来获取这个CString对象中的字节计数;这个计数不包括结尾的空字符。对于多字节字符集,GetLength()按每一个8位字符计数,即:在一个多字节符中的开始和结尾字节被算作2个字节。简单说一下,中文等非英语系的大部分语言,存在无法使用有限的acsii字符表达的问题,属于多字节,英文字符属于单字节。

对于批量读取文件,我们采用第二种方式:例如
for (;;)
{
ImPath.ReadString(ImPathName[imn]);
if (ImPathName[imn].GetLength() < 2)
{
break;
}
imn++;
}
4、循环载入图片。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值