#include <windows.h>
#include <iostream>
#include <opencv2/opencv.hpp> using namespace cv;
using namespace std;
char* WcharToChar(const wchar_t* wp)
{
char *m_char;
int len = WideCharToMultiByte(CP_ACP, , wp, wcslen(wp), NULL, , NULL, NULL);
m_char = new char[len + ];
WideCharToMultiByte(CP_ACP, , wp, wcslen(wp), m_char, len, NULL, NULL);
m_char[len] = '\0';
return m_char;
} wchar_t* CharToWchar(const char* c)
{
wchar_t *m_wchar;
int len = MultiByteToWideChar(CP_ACP, , c, strlen(c), NULL, );
m_wchar = new wchar_t[len + ];
MultiByteToWideChar(CP_ACP, , c, strlen(c), m_wchar, len);
m_wchar[len] = '\0';
return m_wchar;
} wchar_t* StringToWchar(const string& s)
{
const char* p = s.c_str();
return CharToWchar(p);
}
int main()
{
//定义文件格式
const string file_form = "*.jpg";
const string filePath = "M";
string file_ReadPath = filePath + "/" + file_form;
HANDLE hFile;
//指定搜索目录和文件类型,如搜索d盘的音频文件可以是"D:\\*.mp3"
LPCTSTR lpFileName = StringToWchar(file_ReadPath);
//搜索得到的文件信息将储存在pNextInfo中;
WIN32_FIND_DATA pNextInfo;
//请注意是 &pNextInfo , 不是 pNextInfo;
hFile = FindFirstFile(lpFileName, &pNextInfo);
int j = ;
if (hFile == INVALID_HANDLE_VALUE)
{
return false;//搜索失败
}
do
{
//必须加这句,不然会加载.和..的文件而加载不了图片,
if (pNextInfo.cFileName[] == '.')//过滤.和..
continue;
j++;//读取一张图
//wcout<<pNextInfo.cFileName<<endl;
printf("%s\n", WcharToChar(pNextInfo.cFileName));
//对读入的图片进行处理
Mat srcImage = imread(filePath + "\\" + WcharToChar(pNextInfo.cFileName), CV_LOAD_IMAGE_GRAYSCALE);
if ()
{
stringstream ss;
ss << "h" << j << ".png";
imwrite(ss.str(), srcImage);
} } while (FindNextFile(hFile, &pNextInfo) && j<); }

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. GitLab如何创建分支及拉取代码

    从gitlab地址进入进行操作 1.登录GitLab(账号密码由company统一提供,如果是自己操作的话,就需要先注册) 2.登录gitlab后对已创建好的项目进行分支创建(此处默认项目已创建好,如 ...

  2. SQL Server Url Decode函数

    )) ) AS BEGIN ), ), ) SET @count = Len(@url) SET @urlReturn = '' WHILE (@i <= @count) BEGIN ) IF ...

  3. PHP获取中文首字母的函数

    PHP获取中文首字母的函数 <?php header("Content-type: text/html; charset=utf-8"); function getFirst ...

  4. 重识linux-守护进程,系统服务,daemons

    重识linux-守护进程,系统服务,daemons 1分类 分为 单独的守护进程 和超级守护进程 2命名 服务的名称被创建之后,被挂上linux使用,通常在服务的名称之后会加上一个d,例如at和cro ...

  5. 3. powerdesigner 生成mysql脚本,要求字段、表名有注释

    1.字段注释设置 : 在 pdm 视图中,Database --> Edit Current DBMS. 找到 MySql5.0 --> Script --> Objects --& ...

  6. django的i18n是如何实现的

    在程序中出现 _的地方会调用gettext_lazy(django.utils.translation.py) class LogEntry(models.Model): action_time = ...

  7. String StringBuffer和StringBuilder区别及性能

    结论: (1)如果要操作少量的数据用 String: (2)多线程操作字符串缓冲区下操作大量数据 StringBuffer: (3)单线程操作字符串缓冲区下操作大量数据 StringBuilder(推 ...

  8. Spring Cloud (5)hystrix 服务熔断

    1.pom文件 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId&g ...

  9. Redis 密码

  10. English-英语学习杂志及资料

    [英文原版杂志] >>经济学人 英文原版PDF+双语版+文本音频 超全下载!http://bbs.zhan.com/thread-8443-1-1.html?sid=2004 >&g ...