极智Coding | C++ 拖拽形式读取图像文件
Posted 极智视界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了极智Coding | C++ 拖拽形式读取图像文件相关的知识,希望对你有一定的参考价值。
欢迎关注我的公众号 [极智视界],获取我的更多笔记分享
大家好,我是极智视界,本文介绍一下 C++ 拖拽形式读取图像文件方法。
这里介绍的方法主要是为了便于用 C++ 编写一些 demo,我觉得还是比较实用的,展现形式就是:工程编译后生成一个 exe 可执行程序 => 双击 exe 生成 cmd 窗口(如下) (待输入状态) => 拖拽文件到 cmd 窗口即可自动读取文件路径进行处理 => 处理完一轮后再次进入待输入状态,如此循环交互。这样就形成了一个简单的交互式 demo 模版,既可以交互处理图像文件,也可以交互处理视频文件、文本文件等。下面来看看代码 (要用的话基本可以照搬就行,可以当做一个模版框架使用,读取后处理方式自定义就行了)。
文章目录
1. C++ 拖拽形式读取图像文件
int main()
char file_name[1024];
char *filename;
again:
_flushall();
printf("\\n Input filename:");
fgets(file_name, sizeof(file_name), stdin);
filename = &file_name[0];
if(strlen(file_name) && file_name[strlen(file_name) - 1] == '\\n')
if(filename[0] == '"')
file_name[strlen(file_name) - 2] = 0;
filename++;
else
file_name[strlen(file_name) - 1] = 0;
// 开始处理图片数据
cv::Mat templ;
templ = imread(filename, 1);
if(templ.empty())
goto again;
// 自定义处理图片数据
...
...
...
goto again;
return 0;
2. C++ 拖拽形式读取视频文件
int main()
char file_name[1024];
char *filename;
again:
_flushall();
printf("\\n Input filename:");
fgets(file_name, sizeof(file_name), stdin);
filename = &file_name[0];
if(strlen(file_name) && file_name[strlen(file_name) - 1] == '\\n')
if(filename[0] == '"')
file_name[strlen(file_name) - 2] = 0;
filename++;
else
file_name[strlen(file_name) - 1] = 0;
// 开始处理视频数据
cv::VideoCapture cap(filename);
cv::Mat templ;
while(cap.isOpened())
cap >> templ;
if(templ.empty())
goto again;
// 自定义处理视频帧
...
...
...
goto again;
return 0;
好了,以上介绍了 C++ 拖拽形式读取图像文件方法,还是很实用的。希望我的分享能对你的学习有一点帮助。
【极智视界】
搜索关注我的微信公众号【极智视界】,获取我的更多经验分享,让我们用极致+极客的心态来迎接AI !
以上是关于极智Coding | C++ 拖拽形式读取图像文件的主要内容,如果未能解决你的问题,请参考以下文章