14.Python抠图脚本

该博客介绍了一个使用Python和OpenCV进行批量图片预处理的脚本,包括图片扫描、灰度转换、二值化、形态学操作以及替换黑色像素。脚本适用于照片背景替换等图像处理需求。

最近需要对图片进行批量预处理,写了个Python脚本

import cv2
import numpy as np
import os
import sys

def scanimgfile(path):#扫描图片文件并返回图片名的列表
	filelist=[]
	for file in os.listdir(path):
		if file.endswith(".png"):
			filelist.append(file)

	return filelist

def processimg(imgname)://opencv图像处理
	oriimg=cv2.imread(imgname)
	grayimg=cv2.cvtColor(oriimg, cv2.COLOR_BGR2GRAY)
	_, binaryimg=cv2.threshold(grayimg, 60, 255, cv2.THRESH_BINARY)

	kernel=np.ones((25,25), np.uint8)
	openimg=cv2.morphologyEx(binaryimg, cv2.MORPH_OPEN, kernel)
 
	rows, cols=openimg.shape 
	for row in range(rows):
		for col in range(cols):
			if openimg[row, col] == 0:
				oriimg[row, col] = (0, 0, 0)

	#cv2.imshow("res", openimg)
	#cv2.waitKey(0)
	return oriimg


if __name__=="__main__":
	if sys.argv[-1] == "":
		pass
	else:
		imglist=scanimgfile(sys.argv[-1])
		for img in imglist:
			res=processimg(img)
			cv2.waitKey(1)
			cv2.imwrite("./afterprocess/"+img, res)

输入图片 

 

输出效果图片

效果还可以,可以根据需要自行修改,比如照片换背景颜色啥的

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值