OpenCV批量读入(处理)
- #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批量读入(处理)的更多相关文章
- opencv 批量图像读写
处理图像数据集时通常要读写整个文件夹里的图像,这时就会用的图像的批量读写. 比较常用的方法就是生成一个包含所有图像的txt列表 生成txt文件的方法如下: 利用cmd进入dos 利用路径进入指定文件夹 ...
- Opencv怎么读入,显示,保存图像-OpenCV步步精深
怎么读入图像呢? 我们用 img = cv2.imread('图像路径\原图像名称',0) 原图像名称要有后缀 .png , .jpg等等原图像带有的后缀. 这里我们着重说明一下图像路径,这个路径一定 ...
- opencv批量读取图片
#include<opencv2/opencv.hpp>using namespace cv;using namespace std;int main(){ int num=4;// ...
- MATLAB批量读入图片
%% import pictures, and save into images{img_num} function [images, img_num, vertical_border] = impo ...
- opencv批量修改图片尺寸
#include"opencv2/opencv.hpp" using namespace std; using namespace cv; #include<opencv2/ ...
- Mac中opencv批量对图片进行二值化
对灰度图像进行二值化,传入的图片是手写汉字的截图,通过二值化把字的部分提出来.用ostu进行二值化 #include <stdio.h> #include <iostream> ...
- 利用python和opencv批量去掉图片黑边
import os import cv2 import numpy as np from scipy.stats import mode import time import concurrent.f ...
- R语言︱文件读入、读出一些方法罗列(批量xlsx文件、数据库、文本txt、文件夹)
笔者寄语:小规模的读取数据的方法较为简单并且多样,但是,批量读取目前看到有以下几种方法:xlsx包.RODBC包.批量转化成csv后读入. R语言中还有一些其他较为普遍的读入,比如代码包,R文件,工作 ...
- OpenCV玩耍(一)批量resize一个文件夹里的所有图像
鉴于用caffe做实验的时候,里面牵扯到一个问题是必须将训练集和测试集都转成256*256的图像,而官网给出的代码又不会用,所以我用opencv转了.其实opencv只转一幅图会很简单,关键在于“批量 ...
随机推荐
- 微信小程序获取用户信息
App({ appData: { userInfo:{ user_portraitUrl: "", user_nick: "", user_gender: 0, ...
- day6--递归函数
一递归函数 我们老师经常喜欢讲的一句话就是:人理解函数,神理解递归,那么什么是递归函数? 递归函数:在一个函数里面调用函数本身,也就是说这个函数里面出现了和函数一样的名字 例如: def func(n ...
- hello-R
#print start { #: is array :) { print(:i) } } #print end #if start { x<- ) print(x) else print(&q ...
- tornado运行提示OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
找到占用端口的进程,kill掉 netstat -ano | find $(port) kill: tskill $(PID)
- 02.设计模式_NullObject模式
使用NULL OBJECT模式,我们可以确保返回的总是有效的对象,即使失败时也代表对象什么也不做. 下面以一个数据库查询的示例来演示空对象模式. 1.Employe实体对象空对象的接口 Employe ...
- linux RPM包管理
查询系统是否安装某个应用 rpm -qa | grep xx 查询系统某个应用的版本信息 rpm -qi 软件包信息 查询某个软件的安装位置 rpm -ql 软件包名 查询文件属于哪个软件 ...
- element ui输入框监听enter事件
<el-form-item label="关键字"> <el-input v-model="keywords" placeholder=&qu ...
- DirectX10安装路径自动生成DXSDK_DIR
DXSDK_DIR C:\Program Files (x86)\Microsoft DirectX SDK (February 2010)\
- linux 常用命令记录&& xsheel 使用记录
cp -r x1 x2 复制文件x1到x2 ls 当前目录下的文件列表 ll ...
- mysql 索引优化知识整理笔记
http://blog.csdn.net/zhxp_870516/article/details/8434539 http://www.jb51.net/article/49346.htm https ...