python opencv去图片水印(图片底色为白色)
python opencv去图片水印(图片底色为白色)
Python
# -*- coding: utf-8 -*-
import cv2,os,shutil,datetime,re,time
from threading import Thread
from hashlib import md5
PICHASH= {}
def md5_file(name):try:m = md5()a_file = open(name, 'rb')m.update(a_file.read())a_file.close()return m.hexdigest()except:return None
def nowater(dir,newdir,dirlist):global PICHASHfor ppicdir in dirlist:print ppicdirprint os.path.isdir(dir+ppicdir)if(os.path.isdir(dir+ppicdir)):sortfiles=os.listdir(dir+ppicdir)if '.DS_Store' in sortfiles:sortfiles.remove('.DS_Store')sortfiles.sort()for oldfile in sortfiles:filetype="."+oldfile.split(".")[len(oldfile.split("."))-1]picname_front=oldfile.split(filetype)[0]oldfile=dir+ppicdir+"/"+oldfilejpgname=picname_front+".jpg"jpgname=newdir+ppicdir+"/"+jpgnametry:oldfile_hash=md5_file(oldfile)oldfile_tmphashvalue=PICHASH.get(oldfile_hash)file_object = open('pichash.txt', 'a')file_object.write(oldfile+":"+oldfile_hash+'\n')file_object.close()if(oldfile_tmphashvalue==None):if not os.path.exists(newdir+ppicdir):os.makedirs(newdir+ppicdir)print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")+","+oldfile+",ing\n"img=cv2.imread(oldfile)x,y,z=img.shapeif x < 100:print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")+","+jpgname+"too small , continue"elif x >5000:print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")+","+jpgname+"too big , continue"elif not os.path.exists(jpgname):for i in xrange(x):for j in xrange(y):varP=img[i,j]if sum(varP)>250 and sum(varP)<765 :img[i,j]=[255,255,255]cv2.imwrite(jpgname,img)print "jpgname:"+jpgnamePICHASH[oldfile_hash]=oldfileprint datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")+","+oldfile+",done\n"else:print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")+","+jpgname+"exists\n"elif(oldfile_tmphashvalue!=None):if(os.path.exists(jpgname)):print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")+","+jpgname+"exists\n"else:shutil.copyfile(oldfile_tmphashvalue,oldfile)shutil.copyfile(oldfile,jpgname)print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")+","+jpgname+" same with the old, continue"except Exception,e:print "Exception:",econtinue
if __name__=='__main__':dir="./pic/"newdir="./picnew/"list0=[]list1=[]list2=[]for ppicdir in os.listdir(dir) :print ppicdirprint os.path.isdir(dir+ppicdir)if(os.path.isdir(dir+ppicdir)):if (re.compile(r'^[0-1].*').match(str(ppicdir))):list0.append(ppicdir)elif(re.compile(r'^[2-3].*').match(str(ppicdir))):list1.append(ppicdir)elif(re.compile(r'^[4-5].*').match(str(ppicdir))):list2.append(ppicdir)else:continueThread(target=nowater,args=(dir,newdir,list0)).start()Thread(target=nowater,args=(dir,newdir,list1,)).start()Thread(target=nowater,args=(dir,newdir,list2,)).start()
python opencv去图片水印(图片底色为白色)相关推荐
- python 找出图片中的差异点,python opencv对目录下图片进行去重的技巧
使用python opencv对目录下图片进行去重的方法 版本: 平台:ubuntu 14 / I5 / 4G内存 python版本:python2.7 opencv版本:2.13.4 依赖: 如果系 ...
- python图片转视频加特效_使用Python opencv实现视频与图片的相互转换
因为最近要经常转换数据集进行实验,因此记录一下. 1.视频转图片 即为将视频解析为一帧一帧的图片: import cv2 vc=cv2.VideoCapture("/home/hqd/Pyc ...
- 使用Python+opencv+k-means根据扫描图片计算叶片面积-续
一 .概述 之前写了一篇计算叶片面积的文章,后来想想其实没有那么复杂,直接二值化计算即可得到,原来的代码写了几十行,其实十余行就可以计算得到叶片面积了. 原文:使用Python+opencv+k-me ...
- Python Opencv等比例缩放图片
Python Opencv等比例缩放图片 前言 前提条件 相关介绍 实验环境 等比例缩放图片 代码实现 输出结果 前言 本文是个人使用Python Opencv处理图片的笔记,由于水平有限,难免出现错 ...
- python opencv 拼接 连接 显示 图片
python opencv 拼接 显示 图片 代码 import cv2 import numpy as np # 读取图片 img1 = cv2.imread('1.jpg',1) # 读取图片 i ...
- python+opencv代码给证件照换底色(别再用PS啦)(转载)
CSDN博客中关于修改证件底色的博文还不少. 昨天看到一个小姐姐的博文很有意思.链接https://blog.csdn.net/weixin_41261833/article/details/1070 ...
- java pdf添加图片水印图片_Java 在PDF中添加文本水印、图片水印(基于Spire.Cloud.SDK for Java)...
Spire.Cloud.SDK for Java提供了接口pdfWartermarkApi可用于添加文本水印addTextWartermark()和图片水印addImageWartermark()到P ...
- python opencv去除简易水印——去除红色效果最好
去水印是个麻烦事,水印的方式千奇百怪,下面的方法并不一定适用你. opencv去图片中红色部分,保留其他 这个方式需要你的图像水印比较简单,且为纯色的红色. 效果图 原图 处理结果图 代码 impor ...
- python opencv去图片水印
本文转载自:http://blog.csdn.net/androidmylove/article/details/41960111 背景] 最近有一个需要为图片去水印的需求,于是各种折腾开始. [背景 ...
- Python OpenCV 去除PDF(图片)中指定颜色水印
对比图.水印去除前后: 代码: import cv2 imp ...
最新文章
- npm 发布包填坑指南
- python 统计2^2^2^2^2的各数字出现次数
- 怎么配置搭建Nginx网站服务器
- 黑马程序员C语言基础(第五天)运算符与表达式、程序流程结构、数组和字符串、函数
- [Python人工智能] 三十二.Bert模型 (1)Keras-bert基本用法及预训练模型
- SAP CRM One Order框架搜索条件里,posting date下拉菜单的渲染逻辑
- angular接口传参
- 推送ActivityFeed到Teams
- [RabbitMQ]整合SpringBoot
- [AssertionError: nput tensor input format are different]
- 加餐:Redis 的可视化管理工具
- c语言z基本数据类型文档,C语言基本数据类型
- linux孤儿进程组深入理解,unix基础---有关于孤儿进程组和终端会话的理解-------值得一看!!!...
- tensorflow2.3实现街景语义分割(二)
- sae bae微信上墙|微信墙完美版(php源码),最新微信表白墙源码 微信互动墙 微信留言板 微信留言墙源码 - A保站...
- element-ui table的选中行高亮和取消高亮
- python 51单片机开发_Python 单片机
- sap成本流怎么看_[原创]SAP方丈-写给新手的SAP成本核算流程
- 敏之澳分享拼多多的宝贝标题要怎么写?
- pycharm执行python时,如何填写参数