文档章节

如何用几行代码读取目录下所有的图片

xiaodingding
 xiaodingding
发布于 2017/07/04 23:29
字数 410
阅读 12
收藏 0

该程序同时也解决opencv中文路径,图片不能正常读取的问题。

最近写了一个,爬去了较多的妹子资源,但是需要手动的一个一个的去浏览图片,闲太麻烦了,能不能制作一个软件,能直接读取某目录下的所有图片呢?好,说干就干吧。

首先需要引入一些常用的库:

import cv2
import numpy as np
from matplotlib import pyplot as plt
import os
import time

接下来,就是所有的代码量了,直接上干货吧

ph = r"E:\image\小清新"

def list_dir(path):
    for f in os.listdir(path):
        f= path+ r"\\"+f
        if os.path.isfile(f):
            pp = str(f)
            print("file is:"+ str(f))
            if (pp.find("png") != -1) or (pp.find("jpg") != -1):
                #cv2.namedWindow("img",cv2.WINDOW_NORMAL)
                print("will to read file:" + str(f))
                #img = cv2.imread(f)
                img = cv2.imdecode(np.fromfile(f,dtype=np.uint8),-1)   //说明python2的操作在这里不同,需要进行修改
                if img is None:
                    continue
                else:
                    img = cv2.resize(img,(1024,768))
                cv2.imshow("img",img)
                cv2.waitKey(20)
        elif os.path.isdir(f):
            print("find dir:" + str(f))
            list_dir(f)
        else:
            #list_dir(f)
            print("find unknow:" + str(f))
    cv2.destroyAllWindows()
    print("list_dir end")
    
list_dir(ph)
print("all end")

python2和python3需要进行修改的地方:

python3版本

# python3版本
# imread

path_file = "sample"
img = cv2.imdecode(np.fromfile(path_file,dtype=np.uint8),-1)

#imwrite
_path = "sample"
cv2.imencode('.jpg',img)[1].tofile(_path)

python2版本

# python 2版本
import cv2
import sys
reload(sys)
sys.setdefaultencoding('u8')
path_file = u"sample"
img = cv2.imread(path_file.decode('u8').encode('gbk'),-1)

好了,大功告成,试试只用几行代码就搞定图片浏览器的快感吧。

好了,如果大家遇到问题,不能运行的话,请加群:98556420,提出疑问吧。

© 著作权归作者所有

共有 人打赏支持
xiaodingding
粉丝 0
博文 5
码字总数 9807
作品 1
昆明
高级程序员
私信 提问
Kotlin入门(27)文件读写操作

Java的文件处理用到了io库java.io,该库虽然功能强大,但是与文件内容的交互还得通过输入输出流中转,致使文件读写操作颇为繁琐。因此,开发者通常得自己重新封装一个文件存取的工具类,以便...

aqi00
10/21
0
0
远程读取linux服务器文件内容

请大神们指教两个问题: Q1:使用scpClient读取远程服务器的指定文件,在使用如下代码的情况下,能否实现将文件内容转为行读取,或者行处理?如果如下代码不行,那么可以用什么方法/类?文件...

WilliamKZhy
04/17
699
1
UEditor之基于Java图片上传前后端源码研究

那么开始吧! 这是我的项目目录 1.从访问路径http://localhost:8081/Test/_examples/simpleDemo.html,我们主要是要看看,富文本框被加载出来之前,会调用哪些代码, 不卖关子,很明显,会调用...

yunlielai
2017/04/26
0
0
UIWebView加载本地HTML文件

一.准备HTML文件及其资源文件 使用UIWebView加载本地的HTML文件 index.html,在index.html中引用了本地的图片、CSS文件、JS文件以及外部的图片。 index.html内容如下 <html> <img src="Smile...

xrk
2014/02/11
0
0
【教程】使用PAI深度学习tensorflow读取OSS教程

在PAI上, 使用TensorFlow读取OSS文件 作者: 万千钧 转载需注明出处 本文适合有一定TensorFlow基础, 且准备使用PAI的同学阅读 目录 1. 如何PAI上读取数据 2. 如何减少读取的费用开支 3. 使用O...

傲海
2017/08/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

deepin中配置robot framework环境

本文永久更新地址:https://my.oschina.net/bysu/blog/2989005 【若要到岸,请摇船:开源中国 不最醉不龟归】 1.在终端中输入pip,回车,如果提示没有该命令,则先安转pip sudo apt-get inst...

不最醉不龟归
15分钟前
1
0
OSChina 周日乱弹 —— 钱不还,我就当你人不在了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享Bigleaf的单曲《小鹿》 《小鹿》- Bigleaf 手机党少年们想听歌,请使劲儿戳(这里) 周日在家做什么? 做手工呀, @poorfis...

小小编辑
今天
74
3
EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
今天
20
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
29
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
33
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部