首页 > 编程知识 正文

python几行代码实现抠图的简单介绍

时间:2023-12-27 22:26:00 阅读:323351 作者:AJKD

本文目录一览:

python可以自动排海报吗

可以。通过编码后可实现。

批量抠图:输入文字和海报元素,就可以一键自动排版海报,一个小时就几十张。

Python都可以做哪些副业?

1、兼职处理数据

Excel整理数据功能虽然很强大,但在Python面前,曾经统治职场的它也的败下阵来。因为Python在搜集数据整理分析数据的过程中更加便捷,通过几行代码还可以实现自动化操作。如果你学会Python,便可以从网上找一些数据筛选、汇总的兼职工作来赚点小钱。

2、兼职查询资料

学会Python之后,很容易通过几行代码在网络上爬取各种各样的资源。目前有很多工作,都会招一些查阅汇总资料的兼职。学会Python的小白,便可以利用业余时间,通过Python帮助个人或者一些公司企业进行资料搜罗整理,还可以赚一笔小钱丰富自己的生活。

3、兼职P图

通过Python可以利用相关代码进行批量处理图片,不管是缩放、旋转、镜像、裁剪、灰度、添加文本等等,都可以在Python的帮助下获得,再也不用一张一张去P图了。如果学会了Python进行P图,平时可以和一些照相馆合作,帮助他们处理大量图片。

用python抠图(背景透明化)

matplotlib读取RGB图片的时候,往往把图片转化为四通道图片,其中第四个通道是α通道,可以决定图像的透明度。

如果把图片的前景的透明度设定为1,背景的透明度设定为0,那么就算去掉了背景了。

原图。

代码。

出图。

有部分白色背景由于不够白,被保留了下来。

换图。

观察可知,背景是深浅不一的蓝色。

深色参数是a[0,0],浅色区域比较多,也不容易确定位置。

用如下代码抠图,太狠!

再修改代码。

if a[i,j,2]1.5*a[i,j,0] and a[i,j,2]1.2*a[i,j,1]:

不准抠去黑色部分。经过逐步调整颜色阈值,得到下面的效果。

上面代码如下。

Python程序抓图 怎么用程序实现截图

由于在我的一个程序中想要添加一个截图功能,今天看一下利用Python怎样截图,功能实现都挺简单了,直接上代码

from PIL import ImageGrab

im = ImageGrab.grab()

im.save(addr,'jpeg')

很简单的几行代码就实现了我要的功能,PIL(Python Image Library)是Python的一个图形库,需要自己下载安装,im = ImageGrab.grab()这行代码实现截图功能,可以带参数,指定要截取图片的坐标位置,不带参数默认全屏截图,im.save(addr,'jpeg')是保存截取的图片,第一个参数是保存路径,第二个参数是图片格式

如何用 Python 实现一个抠图功能

使用Python和OpenCV进行抠图

其中使用了opencv中的grabcut方法

直接上代码

[python] view plain copy

# encoding:utf-8

# 图像提取

# create by

import numpy as np

import cv2

from matplotlib import pyplot as plt

img = cv2.imread('1.jpg')

mask = np.zeros(img.shape[:2], np.uint8)

bgdModel = np.zeros((1, 65), np.float64)

fgdModel = np.zeros((1, 65), np.float64)

rect = (20, 20, 413, 591)

cv2.grabCut(img, mask, rect, bgdModel, fgdModel, 10, cv2.GC_INIT_WITH_RECT)mask2 = np.where((mask == 2) | (mask == 0), 0, 1).astype('uint8')img = img * mask2[:, :, np.newaxis]

img += 255 * (1 - cv2.cvtColor(mask2, cv2.COLOR_GRAY2BGR))# plt.imshow(img)

# plt.show()

img = np.array(img)

mean = np.mean(img)

img = img - mean

img = img * 0.9 + mean * 0.9

img /= 255

plt.imshow(img)

plt.show()

python如何实现分行提取指定字符串?

python读取文件内容的方法:一.最方便的方法是一次性读取文件中的所有内容并放置到一个大字符串中:all_the_text=open('thefile.txt').read()#文本文件中的所有文本all_the_data=open('abinfile','rb').read()#二进制文件中的所有数据为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用的文件对象占用内存。举个例子,对文本文件读取:file_object=open('thefile.txt')try:all_the_text=file_object.read()finally:file_object.close()不一定要在这里用Try/finally语句,但是用了效果更好,因为它可以保证文件对象被关闭,即使在读取中发生了严重错误。二.最简单、最快,也最具Python风格的方法是逐行读取文本文件内容,并将读取的数据放置到一个字符串列表中:list_of_all_the_lines=file_object.readlines()这样读出的每行文本末尾都带有"n"符号;如果你不想这样,还有另一个替代的办法,比如:list_of_all_the_lines=file_object.read().splitlines()list_of_all_the_lines=file_object.read().split('n')list_of_all_the_lines=[L.rstrip('n')forLinfile_object]

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