思路1:通过图像熵检测,“无内容”图像熵较小,可通过设置阈值检测“无内容”图像,计算图像熵可参考:https://www.cnblogs.com/niulang/p/12195152.html

思路2:检测图像中连通区域个数和面积

思路2代码:

import cv2
import numpy as np
import math
import time
import os
import shutil def get_cell_cnt(img_):
x, y = img_.shape[0:2]
img_ = cv2.resize(img_, (int(y/4), int(x/4)))
ret, binary = cv2.threshold(img_, 95, 255, cv2.THRESH_BINARY)
cv2.imwrite(path + 'abc.png', binary)
kernel_1 = np.ones((3,3),np.uint8) # 定义核
opening = cv2.morphologyEx(binary, cv2.MORPH_CLOSE, kernel_1)
cv2.imwrite(path + 'abc_1.png', opening)
opening_x = opening.shape[0]
opening_y = opening.shape[1]
opening[:,0] = 255
opening[:,opening_y-1] = 255
opening[0,:] = 255
opening[opening_x-1,:] = 255
# 检测图像连通区(输入为二值化图像)
image, contours, hierarchy = cv2.findContours(opening,1,2) # 检测连通区域
sign = 0
for n in range(len(contours)):
cnt = contours[n]
area = cv2.contourArea(cnt)
if area > 12:
sign = sign + 1
# cv2.imwrite(path + 'abc_open.png', opening)
# cv2.imwrite(path + 'abc_close_range.png', img_)
return sign
for path_ in open('list.txt'):
t1 = time.time()
path = path_[:-1]
image = cv2.imread(path,0)
t2 = time.time()
cell_cnt = get_cell_cnt(image)
t3 = time.time()
if cell_cnt < 2:
newpath = os.path.join('copy', path.split('/')[1])
shutil.copy(path, newpath)
print('time',t2-t1,t3-t1)

  

python检测“无内容”图片的更多相关文章

  1. Python之路【第十四篇】:AngularJS --暂无内容-待更新

    Python之路[第十四篇]:AngularJS --暂无内容-待更新

  2. Python之路【第十三篇】:jQuery -暂无内容-待更新

    Python之路[第十三篇]:jQuery -暂无内容-待更新

  3. Python之路【第十二篇】:JavaScrpt -暂无内容-待更新

    Python之路[第十二篇]:JavaScrpt -暂无内容-待更新

  4. Python之路【第十一篇】:CSS --暂无内容-待更新

    Python之路[第十一篇]:CSS --暂无内容-待更新

  5. Python开发【第十篇】:CSS --无内容点击-不进去(一)

    Python开发[第十篇]:CSS  --无内容点击-不进去(一)

  6. 5分钟Serverless实践 | 构建无服务器图片鉴黄Web应用

    Serverless是什么 Serverless中文译为“无服务器”,最早可以追溯到2012年Ken Fromm发表的<Why The Future Of Software And Apps I ...

  7. Python实战:美女图片下载器,海量图片任你下载

    Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习 ...

  8. Python爬虫下载美女图片(不同网站不同方法)

    声明:以下代码,Python版本3.6完美运行 一.思路介绍 不同的图片网站设有不同的反爬虫机制,根据具体网站采取对应的方法 1. 浏览器浏览分析地址变化规律 2. Python测试类获取网页内容,从 ...

  9. Python 3 实现色情图片识别

    Python 3 实现色情图片识别 项目简介 项目内容 本实验将使用 Python3 去识别图片是否为色情图片,我们会使用到 PIL 这个图片处理库,会编写算法来划分图像的皮肤区域. 项目知识点 Py ...

随机推荐

  1. Chisel3 - bind - Op, ReadOnly, 左值

    https://mp.weixin.qq.com/s/F_08jKFMoX9Gf_J_YpsDpg   两个数据变量进行某个操作(op),产生一个输出,这个输出存在一个匿名变量中.这个匿名变量就是以O ...

  2. 【JSP】el、jstl、MVC、三层架构

    JSP[Java Server Pages] [概念] java服务器页面 简化的servlet设计 html语法中扩展java 跨平台 JSP全名为Java Server Pages,中文名叫jav ...

  3. 看板 | 漫话之减少WIP(在制品)

    传统的流水线生产模式中,生产流程按生产程序进行划分,而各部分因动作的难度或复杂程度的差异导致用时不同. 例如:一个产品进行组装用时2分钟,完成装箱工作只需10秒.在这种情况下,组装动作用时长.产出慢, ...

  4. Java 第十一届 蓝桥杯 省模拟赛 螺旋矩阵

    螺旋矩阵 题目 问题描述 对于一个 n 行 m 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵. 例如,一个 4 行 5 列的螺旋矩阵如下: 1 2 3 4 5 ...

  5. Java实现 LeetCode 130 被围绕的区域

    130. 被围绕的区域 给定一个二维的矩阵,包含 'X' 和 'O'(字母 O). 找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充. 示例: X X X X X O O ...

  6. Java实现 LeetCode 58 最后一个单词的长度

    58. 最后一个单词的长度 给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度. 如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词. 如果不存在最后一个单词, ...

  7. java实现串逐位和(C++)

    给定一个由数字组成的字符串,我们希望得到它的各个数位的和. 比如:"368" 的诸位和是:17 这本来很容易,但为了充分发挥计算机多核的优势,小明设计了如下的方案: int f(c ...

  8. Java实现第十届蓝桥杯求和

    试题 A: 求和 本题总分:5 分 [问题描述] 小明对数位中含有 2.0.1.9 的数字很感兴趣,在 1 到 40 中这样的数包 括 1.2.9.10 至 32.39 和 40,共 28 个,他们的 ...

  9. 更多的bash shell命令

    1.探查进程:ps 2.实时监控进程:top 3.结束进程:kill.killall 4.查看挂载媒体:mount 5.移除设备:nmount 6.查看已挂载设备的使用情况:df 7.显示特定磁盘的使 ...

  10. 动作函数-web_custom_request

    web_custom_request("get_login", "URL=http://10.1.102.75:8000/login?user=Milton&pw ...