python去水印保存图片,python批量添加水印
本文主要介绍如何使用python实现简单的水印去除。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。
在做视频或者图片处理的时候,经常会遇到水印,或者需要去除图片的某一部分。这时候就需要想办法把不想要的部分去掉。下面的工具可以控制鼠标改变图片任意部分的颜色,从而去除水印。在这里,我们默认将其更改为白色。
一、准备工作
1.CV2库
2.PIL图书馆
二、源码
导入cv2 #导入相关库
从PIL进口图片
全球img
全局点1、点2
def on_mouse(事件,x,y,标志,参数):
全局img,点1,点2
img2=img.copy()
if event==cv2 . event _ lbuttondown 3360 #左键单击
点1=(x,y)
cv2.circle(img2,point1,10,(255,255,255),2)
cv2.imshow(image ,img2)
Elif event==cv2.event _ mousemove和(flags cv2 . event _ flag _ lbutton)3360 #按住左键拖动。
cv2.rectangle(img2,point1,(x,y),(255,255,255),2)
cv2.imshow(image ,img2)
elif event==cv2 . event _ lbuttonup : #左键释放
点2=(x,y)
cv2.rectangle(img2,point1,point2,(255,255,255),2)
cv2.imshow(image ,img2)
min_x=min(点1[0],点2[0])
min_y=min(点1[1],点2[1])
width=abs(点1[0] -点2[0])
height=abs(点1[1] -点2[1])
cut_img=img[min_y:min_y高度,min_x:min_x宽度]
cv2.imwrite(first.png ,cut_img)
将裁剪后的图片变成白色。
定义测试2():
i=1
j=1
Img=Image.open(first.png) #读取系统内部照片
Print(img.size) #打印图像尺寸
print(img.getpixel((4,4)))
宽度=img.size[0] #长度
Height=img.size[1] # width
对于I,在范围(0,宽度): #内遍历所有长度点
对于范围内(0,高度): #遍历所有宽度点
Data=(img.getpixel((i,j))) #打印此图所有点
Print(data) #打印每个像素的颜色RGBA的值(r,g,b,alpha)。
Print(data[0]) #打印RGBA的R值
if (data[0]!=255和数据[1]!=255和数据[2]!=255): # RGBA R值大于170,G值大于170,B值大于170
Img.putpixel ((I,J),(255,255,255,255)) #然后把这些像素的颜色改成大红色。
Img=img.convert(RGB) #将图像强制转换为RGB。
img.save(mid.png )
def testMain():
img=image . open(/home/gt Wang/1000000 . png )
img2=Image.open(mid.png )
layer=Image.new(RGBA ,img.size,(255,255,255,0))
layer.paste(img2,(point1))
img _ after=image.composite(layer,img,layer)
img_after.show()
img_after.save(output.png )
定义主():
全球img
img=cv2.imread(input.png )
cv2.namedWindow(image )
cv2.setMouseCallback(image ,on_mouse)
cv2.imshow(image ,img)
cv2.waitKey(0)
if __name__==__main__:
主()
测试2()
testMain()
这就是本文的全部内容。希望对大家的学习有所帮助,也希望大家能支持盛行的IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。