首页 > 编程知识 正文

片底色变为白色,将片底色改为白色

时间:2023-05-03 21:15:50 阅读:254916 作者:83

python opencv去图片水印(图片底色为白色)

Python

# -*- coding: utf-8 -*-import cv2,os,shutil,datetime,re,timefrom threading import Threadfrom hashlib import md5PICHASH= {}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 Nonedef nowater(dir,newdir,dirlist): global PICHASH for ppicdir in dirlist: print ppicdir print 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+ppicdircxdbq/"+oldfile jpgname=picname_frontcxdbq.jpg" jpgname=newdir+ppicdircxdbq/"+jpgname try: oldfile_hash=md5_file(oldfile) oldfile_tmphashvalue=PICHASH.get(oldfile_hash) file_object = open('pichash.txt', 'a') file_object.write(oldfilecxdbq:"+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")cxdbq,"+oldfilecxdbq,ingn" img=cv2.imread(oldfile) x,y,z=img.shape if x < 100: print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")cxdbq,"+jpgnamecxdbqtoo small , continue" elif x >5000: print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")cxdbq,"+jpgnamecxdbqtoo 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:"+jpgname 称心的嚓茶oldfile_hash]=oldfile print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")cxdbq,"+oldfilecxdbq,donen" else: print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")cxdbq,"+jpgnamecxdbqexistsn" elif(oldfile_tmphashvalue!=None): if(os.path.exists(jpgname)): print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")cxdbq,"+jpgnamecxdbqexistsn" else: shutil.copyfile(oldfile_tmphashvalue,oldfile) shutil.copyfile(oldfile,jpgname) print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")cxdbq,"+jpgnamecxdbq same with the old, continue" except Exception,e: print "Exception:",e continueif __name__=='__main__': dir="./pic/" newdir="./picnew/" list0=[] list1=[] list2=[] for ppicdir in os.listdir(dir) : print ppicdir print 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: continue Thread(target=nowater,args=(dir,newdir,list0)).start() Thread(target=nowater,args=(dir,newdir,list1,)).start() Thread(target=nowater,args=(dir,newdir,list2,)).start()

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。