1. #include <windows.h>
  2. #include <iostream>
  3. #include <opencv2/opencv.hpp>
  4.  
  5. using namespace cv;
  6. using namespace std;
  7. char* WcharToChar(const wchar_t* wp)
  8. {
  9. char *m_char;
  10. int len = WideCharToMultiByte(CP_ACP, , wp, wcslen(wp), NULL, , NULL, NULL);
  11. m_char = new char[len + ];
  12. WideCharToMultiByte(CP_ACP, , wp, wcslen(wp), m_char, len, NULL, NULL);
  13. m_char[len] = '\0';
  14. return m_char;
  15. }
  16.  
  17. wchar_t* CharToWchar(const char* c)
  18. {
  19. wchar_t *m_wchar;
  20. int len = MultiByteToWideChar(CP_ACP, , c, strlen(c), NULL, );
  21. m_wchar = new wchar_t[len + ];
  22. MultiByteToWideChar(CP_ACP, , c, strlen(c), m_wchar, len);
  23. m_wchar[len] = '\0';
  24. return m_wchar;
  25. }
  26.  
  27. wchar_t* StringToWchar(const string& s)
  28. {
  29. const char* p = s.c_str();
  30. return CharToWchar(p);
  31. }
  32. int main()
  33. {
  34. //定义文件格式
  35. const string file_form = "*.jpg";
  36. const string filePath = "M";
  37. string file_ReadPath = filePath + "/" + file_form;
  38. HANDLE hFile;
  39. //指定搜索目录和文件类型,如搜索d盘的音频文件可以是"D:\\*.mp3"
  40. LPCTSTR lpFileName = StringToWchar(file_ReadPath);
  41. //搜索得到的文件信息将储存在pNextInfo中;
  42. WIN32_FIND_DATA pNextInfo;
  43. //请注意是 &pNextInfo , 不是 pNextInfo;
  44. hFile = FindFirstFile(lpFileName, &pNextInfo);
  45. int j = ;
  46. if (hFile == INVALID_HANDLE_VALUE)
  47. {
  48. return false;//搜索失败
  49. }
  50. do
  51. {
  52. //必须加这句,不然会加载.和..的文件而加载不了图片,
  53. if (pNextInfo.cFileName[] == '.')//过滤.和..
  54. continue;
  55. j++;//读取一张图
  56. //wcout<<pNextInfo.cFileName<<endl;
  57. printf("%s\n", WcharToChar(pNextInfo.cFileName));
  58. //对读入的图片进行处理
  59. Mat srcImage = imread(filePath + "\\" + WcharToChar(pNextInfo.cFileName), CV_LOAD_IMAGE_GRAYSCALE);
  60. if ()
  61. {
  62. stringstream ss;
  63. ss << "h" << j << ".png";
  64. imwrite(ss.str(), srcImage);
  65. }
  66.  
  67. } while (FindNextFile(hFile, &pNextInfo) && j<);
  68.  
  69. }

OpenCV批量读入(处理)的更多相关文章

  1. opencv 批量图像读写

    处理图像数据集时通常要读写整个文件夹里的图像,这时就会用的图像的批量读写. 比较常用的方法就是生成一个包含所有图像的txt列表 生成txt文件的方法如下: 利用cmd进入dos 利用路径进入指定文件夹 ...

  2. Opencv怎么读入,显示,保存图像-OpenCV步步精深

    怎么读入图像呢? 我们用 img = cv2.imread('图像路径\原图像名称',0) 原图像名称要有后缀 .png , .jpg等等原图像带有的后缀. 这里我们着重说明一下图像路径,这个路径一定 ...

  3. opencv批量读取图片

    #include<opencv2/opencv.hpp>using namespace cv;using namespace std;int main(){    int num=4;// ...

  4. MATLAB批量读入图片

    %% import pictures, and save into images{img_num} function [images, img_num, vertical_border] = impo ...

  5. opencv批量修改图片尺寸

    #include"opencv2/opencv.hpp" using namespace std; using namespace cv; #include<opencv2/ ...

  6. Mac中opencv批量对图片进行二值化

    对灰度图像进行二值化,传入的图片是手写汉字的截图,通过二值化把字的部分提出来.用ostu进行二值化 #include <stdio.h> #include <iostream> ...

  7. 利用python和opencv批量去掉图片黑边

    import os import cv2 import numpy as np from scipy.stats import mode import time import concurrent.f ...

  8. R语言︱文件读入、读出一些方法罗列(批量xlsx文件、数据库、文本txt、文件夹)

    笔者寄语:小规模的读取数据的方法较为简单并且多样,但是,批量读取目前看到有以下几种方法:xlsx包.RODBC包.批量转化成csv后读入. R语言中还有一些其他较为普遍的读入,比如代码包,R文件,工作 ...

  9. OpenCV玩耍(一)批量resize一个文件夹里的所有图像

    鉴于用caffe做实验的时候,里面牵扯到一个问题是必须将训练集和测试集都转成256*256的图像,而官网给出的代码又不会用,所以我用opencv转了.其实opencv只转一幅图会很简单,关键在于“批量 ...

随机推荐

  1. 微信小程序获取用户信息

    App({ appData: { userInfo:{ user_portraitUrl: "", user_nick: "", user_gender: 0, ...

  2. day6--递归函数

    一递归函数 我们老师经常喜欢讲的一句话就是:人理解函数,神理解递归,那么什么是递归函数? 递归函数:在一个函数里面调用函数本身,也就是说这个函数里面出现了和函数一样的名字 例如: def func(n ...

  3. hello-R

    #print start { #: is array :) { print(:i) } } #print end #if start { x<- ) print(x) else print(&q ...

  4. tornado运行提示OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

    找到占用端口的进程,kill掉 netstat -ano | find $(port) kill: tskill $(PID)

  5. 02.设计模式_NullObject模式

    使用NULL OBJECT模式,我们可以确保返回的总是有效的对象,即使失败时也代表对象什么也不做. 下面以一个数据库查询的示例来演示空对象模式. 1.Employe实体对象空对象的接口 Employe ...

  6. linux RPM包管理

    查询系统是否安装某个应用 rpm  -qa | grep  xx 查询系统某个应用的版本信息 rpm  -qi  软件包信息 查询某个软件的安装位置 rpm  -ql  软件包名 查询文件属于哪个软件 ...

  7. element ui输入框监听enter事件

    <el-form-item label="关键字"> <el-input v-model="keywords" placeholder=&qu ...

  8. DirectX10安装路径自动生成DXSDK_DIR

    DXSDK_DIR C:\Program Files (x86)\Microsoft DirectX SDK (February 2010)\

  9. linux 常用命令记录&& xsheel 使用记录

    cp -r x1 x2                     复制文件x1到x2 ls                                   当前目录下的文件列表 ll         ...

  10. mysql 索引优化知识整理笔记

    http://blog.csdn.net/zhxp_870516/article/details/8434539 http://www.jb51.net/article/49346.htm https ...