极智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++ 拖拽形式读取图像文件方法,还是很实用的。希望我的分享能对你的学习有一点帮助。


 【极智视界】

《极智Coding | C++ 拖拽形式读取图像文件》


搜索关注我的微信公众号【极智视界】,获取我的更多经验分享,让我们用极致+极客的心态来迎接AI !

以上是关于极智Coding | C++ 拖拽形式读取图像文件的主要内容,如果未能解决你的问题,请参考以下文章

极智Coding | OpenMP 多线程使用

opencv:图像的读取,显示,写入文件

python实现矩阵转化图像

编程艺术0002_两数相加_解法

使用 OpenCV(C++)读取文件夹中的任何 .jpg 图像 [关闭]

为啥在 glfw 窗口上没有使用 opengl 显示位图图像?在 C++ 中读取位图图像文件时出现问题