文章目录

  • 1.图片保存在指定目录
    • 1.1实际实例
  • 2.文件夹里所有图片以数组形式输出
    • 2.1实际代码

1.图片保存在指定目录

在opencv中用于保存图片所用到的语句是cv2.imwrite(filepath,image)
filepath是用于保存的地址路径(可用绝对和相对路径),此路径必须真实存在。如果不存在,则可以通过os模块创建,也就是说在后面一排加上os.makedirs(os.path.dirname(filename), exist_ok=True),这里的filename指的是filepath指向的文件。

1.1实际实例

import cv2
import os
import numpy as npclass TestLoader:# imdb image_path(list)def __init__(self, imdb, batch_size=1, shuffle=False):self.imdb = imdbself.batch_size = batch_sizeself.shuffle = shuffleself.size = len(imdb)  # num of data# self.index = np.arange(self.size)self.cur = 0self.data = Noneself.label = Noneself.reset()self.get_batch()def reset(self):self.cur = 0if self.shuffle:# shuffle test imagenp.random.shuffle(self.imdb)def iter_next(self):return self.cur + self.batch_size <= self.size# realize __iter__() and next()--->iterator# return iter objectdef __iter__(self):return selfdef __next__(self):return self.next()def next(self):if self.iter_next():self.get_batch()self.cur += self.batch_sizereturn self.dataelse:raise StopIterationdef getindex(self):return self.cur / self.batch_sizedef getpad(self):if self.cur + self.batch_size > self.size:return self.cur + self.batch_size - self.sizeelse:return 0def get_batch(self):imdb = self.imdb[self.cur]'''cur_from = self.curcur_to = min(cur_from + self.batch_size, self.size)#picked imageimdb = [self.imdb[self.index[i]] for i in range(cur_from, cur_to)]# print(imdb)'''# print type(imdb)# print len(imdb)# assert len(imdb) == 1, "Single batch only"im = cv2.imread(imdb)self.data = impath = "F:/Dataset/MTCNN_DATA/test/" # 保存测试图片的地方
gt_imdb=[]
for item in os.listdir(path):gt_imdb.append(os.path.join(path,item))
test_data = TestLoader(gt_imdb)count = 0
for imagepath in gt_imdb:print(imagepath)image = cv2.imread(imagepath)save_path = 'D:/pycharm/test/'   # 图片保存的路径count += 1cv2.imwrite(save_path+'%d.jpg'%(count),image)# os.path.dirname(path)# 语法:os.path.dirname(path)# 功能:去掉文件名,返回目录os.makedirs(os.path.dirname(save_path),exist_ok=True)

运行结果:

2.文件夹里所有图片以数组形式输出

2.1实际代码

import os
import cv2
import numpy as np
def read_pic(path):if os.path.exists(path):print(1)else:print(2)dirnames = sorted(os.listdir(path))# print(dirname)n = len(dirnames)print(n)# f = open('neg.txt', 'w')Srcimg= []for dirname in dirnames:# print("正在读取第%d张图片" % i)# fromfile()函数读回数据时需要用户指定元素类型,并对数组的形状进行适当的修改,indecode下中文路径也可以运行img = cv2.imdecode(np.fromfile(path + dirname, dtype=np.uint8), -1)#####保存图片#########cv2.imwrite(output_path + "/" + dirname, img)img_path = os.path.join(input_path, dirname)# f.write(img_path+'\n')Srcimg.append(img)# cv2.imshow('pic',img)# cv2.waitKey(0)# print(img_path)Srcimg = np.array(Srcimg)return Srcimg
if __name__ == '__main__':input_path='D:/pycharm/10kinds-light-face-detector-align-recognition-master/test/'output_path='D:/pycharm/compare_three_module/result/'Srcimg=read_pic(input_path)print(Srcimg)

运行结果

Opencv学习笔记(一):如何将得到的图片保存在指定目录以及如何将文件夹里所有图片以数组形式输出相关推荐

  1. openCV学习笔记(5):使用sprintf函数实现在窗口连续显示同一文件夹下的图片

    一.环境: vs2010 + opencv2.3.1 二.程序: #include <iostream> #include <opencv2/highgui/highgui.hpp& ...

  2. opencv学习笔记(六)直方图比较图片相似度

    opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...

  3. OpenCV学习笔记之 ( 三 ) MFC显示Mat图片

    以下步骤参考以下链接 http://blog.csdn.net/dcrmg/article/details/51913160 原理及详解见上链接. 下面只讲步骤. 一.打开VS2010,建立对话框的项 ...

  4. OpenCV 学习笔记03 boundingRect、minAreaRect、minEnclosingCircle、boxPoints、int0、circle、rectangle函数的用法...

    函数中的代码是部分代码,详细代码在最后 1 cv2.boundingRect 作用:矩形边框(boundingRect),用于计算图像一系列点的外部矩形边界. cv2.boundingRect(arr ...

  5. opencv学习笔记(二):基于肤色的人手检测

    opencv学习笔记(二):基于肤色的人手检测 原文:http://blog.csdn.net/wzmsltw/article/details/50849810 先写了人手的检测程序,下一步基于检测程 ...

  6. python做直方图-python OpenCV学习笔记实现二维直方图

    本文介绍了python OpenCV学习笔记实现二维直方图,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/dd/d0d/tutorial_py_2d ...

  7. OpenCV学习笔记大集锦

    转载自: OpenCV学习笔记大集锦 – 视觉机器人 http://www.cvrobot.net/collect-opencv-resource-learn-study-note-chinese/ ...

  8. OpenCV学习笔记(五十六)——InputArray和OutputArray的那些事core OpenCV学习笔记(五十七)——在同一窗口显示多幅图片 OpenCV学习笔记(五十八)——读《Mast

    OpenCV学习笔记(五十六)--InputArray和OutputArray的那些事core 看过OpenCV源代码的朋友,肯定都知道很多函数的接口都是InputArray或者OutputArray ...

  9. OpenCV学习笔记(五十一)——imge stitching图像拼接stitching OpenCV学习笔记(五十二)——号外:OpenCV 2.4.1 又出来了。。。。。 OpenCV学习笔记(五

    OpenCV学习笔记(五十一)--imge stitching图像拼接stitching stitching是OpenCV2.4.0一个新模块,功能是实现图像拼接,所有的相关函数都被封装在Stitch ...

最新文章

  1. 基于图像的单目三维网格重建
  2. 父进程等待子进程结束
  3. TCP / IP协议 --- 用户层面
  4. Mybatis返回Mysql表的自增主键
  5. 第二章:2.1 微分方程、差分方程求解(举例)
  6. Push代码:Git@github.com: Permission denied (publickey)
  7. 【开源项目】Socket服务端与客户端传输视频文件
  8. Java需要掌握的底层知识_Java程序员应该掌握的底层知识
  9. 我们的目标是安全有效支持业务的信息处理技术平台
  10. 互联网金融数据分析-笔记
  11. 计算机组成原理第二次小组讨论课,巢湖电大开放教育计算机科学与技术(doc 6页).doc...
  12. Java_Dubbo视频教程-雷丰阳-专题视频课程
  13. 4am永远 鼠标按键设置_适合我的精英手柄,机械按键与体感最爱:北通宙斯T6体验...
  14. 英语报纸计算机类,报纸和电脑英语作文
  15. ZStack基本工作原理
  16. QCC3040 BLE bonding相关配置
  17. ROMS海洋模式笔记
  18. AVS3中的intra string copy(ISC)
  19. C++ 模板进阶(模板的特化)
  20. 国产化之银河麒麟.netcore3.1访问https服务的两个问题

热门文章

  1. 联合国全球契约组织与罗盛咨询研究发现可持续商界领袖的特征
  2. iptables面试题
  3. ICT的圣杯(三):产业融合的技术乐章
  4. 华为机试python需要需要当时编译通过吗_华为校招软开算法岗历年机试编程题77道C++代码详解(五)...
  5. MySql中实现 按经纬度搜索附近的人,并按距离排序的简单实现
  6. 科研实习 | 清华大学NISL实验室招收网络和应用安全方向访问学生/博后/工程师...
  7. 几大知名流量统计网站的统计脚本中相继植入广告代码的现象,严重影响上网体验
  8. 一文让你彻底搞懂AQS(通俗易懂的AQS)
  9. Lua开发工具LuaEdit
  10. RestEasy 调用Rest接口使用详解