抠图专家KnockOut的使用方法

本文介绍了使用Knockout插件进行快速精准抠图的方法,包括基本操作流程、透明物体及阴影物体的处理技巧,以及如何优化抠图结果。


来源:网络综合

抠图,顾名思义就是将照片中的主体从背景中“抠”出来,然后就可以对主体进行修饰和加工,并加入您希望的另一个背景环境中去,这在静物、人像等等题材的数码照片后期处理中,是很常见的一种操作。但是要想“抠”好一张图片,却是很不容易的,没有经过专业培训的业余用户即便掌握了初步的Photoshop等软件的使用方法,想“抠”出一张细致的图片也是很费时费力的,专业的美术设计人员做起来会快得多,但是也是一个很费神的活儿。有没有一个软件能够自动完成抠图的操作呢?有,那就是Knockout。

由著名图像软件商Corel开发的Knockout可以大大简化抠图的操作,提高效率,节省时间。Knockout常用版本为2.0,是一个Photoshop的插件。打开一幅要处理的照片,新建一个空白背景图层,然后选用Photoshop的滤镜菜单,Knockout赫然其中,如图10所示。如果您仅仅是想实现将主体从背景中“抠”出来这一目的,只需要进行两步操作:

首先选择内部物体(Inside object),用鼠标圈出来,尽量沿着主体(例如这朵荷花)内沿的边缘移动鼠标,尽可能大地包含主体,但不要超越主体与背景的交界处。

然后用类似的方法在主体之外的背景区域圈选,尽量靠近主体,但不越界。经过这两步操作,主体与背景的交界线就被您刚刚画出的两个圈夹在中间,最后,点击“File”菜单下的“Process”,片刻之间您要提取的主体已经从背景中分离了出来,如图11所示,接下来无论您打算进行任何操作,也不会有什么阻碍了。

经验心得:以上所介绍的仅仅是Knockout的基本功能,所抠出的主体虽然边缘整齐精确,但是缺乏立体感,您还可以选择带阴影的抠图方式,您还需要在Knockout的界面中选择内部阴影和外部阴影区域,给与这个软件更多的信息和参考。在此我们不再详细介绍这个软件的更多复杂功能,感兴趣的用户可以搜索相关的软件教程并自行实践,我们仅仅是推荐介绍给大家而已。

文章二:

启动Knockout,即可看到它简洁的工作界面(图4),左边是一排工具栏,后面笔会会详细介绍,右边是控制显示的快捷按钮。

首先按Ctrl+O打开一张少女图片(图5)

点击Inside Object tool按钮,然后沿着要选取物体的内侧轮廓画一圈选取线,这里要注意是内轮廓,尤其是毛发类的图片,要在毛发绒边内画线,不要碰到背景。如果觉得不满意,可随时通过按“L”键来打开放大镜进行观察,再按一下可将其关闭。画好后还可通过按下Shift或Alt键不放,对选区进行添加或删除。
觉得满意后再使用Outside Object tool工具,沿着物体的外圈绘制选区,方法同内选区一样。选好后在下面的过渡复杂度(Transition Complexity )下拉框中,根据前景和背景边界融合的程度选择,这里我们选“Low”,然后点击“Process”,将工作交给Knockout。
完成后在右边的工具栏中选种其他颜色看看,选取的结果是不是比你想象的还要好。还可通过右边工具栏下面的“Image”按钮导入一张作为背景的图像(图六)。

图6

当然我们也可通过执行“File→Export”命令将图片存储为其他格式,目前有CPT、PSD、TIF三种格式,均支持Alpha 通道。

2. 透明物体的选取
透明物体,包括玻璃、冰块、水等,用上面的方法不能很好的选取。不过,这也难不倒Knockout。下面笔者用一张玻璃杯的图片(图7)做示范,介绍一下透明物体的选取。

图7

首先选择Outside Object Tool,用上面介绍的方法沿着玻璃杯外圈画一圈选取线,不同的是这里要尽量贴近边缘但不要碰到内部。然后使用Inside Object Tool,按住Ctrl键不放激活图钉工具(Pushpin tool),在玻璃杯内部的不透明区域(即反光较强,看不到后面背景的区域)(图8)点几下选择几个像素。

图8

如果觉得像素太小不方便选取,可用Zoom工具(即放大镜)将整副图像放大,如果有什么像素没有选择好,可按住Alt键的同时绕着该像素划一圈,就可将该像素删除。完成后在“Transition Complexity”选项中根据图象边界选择“Med-High”,点击“Process”按钮即可。放到别的背景上试试看,这个玻璃杯可是透明的哦!

3. 阴影物体的选取
如果你想在选取物体的同时连同它的阴影一起选中,这就要用到阴影工具。与普通毛发物体选取工具差不多,分别是Inside Shadow Tool和Outside Shadow Tool,使用方法也与毛发选取工具大同小异,这里就不多说了,自己试试看吧。

4. 进一步优化选取结果
在刚才的结果图中,还存在一些瑕疵,如果不注意看,是观察不出来的。但如果你要追求精益求精,就得进行一些修正,在Knockout中专门提供了这些工具。第一个问题是一些物体(尤其是毛发)在处理后会发生颜色变化,某些细节有丢失的现象。例如毛发的边缘反光变暗、变模糊,失去了它本来的光泽,这时可用注射器工具(Syringe Tool)进行修正。比如毛发细节丢失问题,就可用Inside Syringe Tool(图 icon12.bmp),按住Ctrl键的同时在毛发亮度没有丢失的区域点一下,将此处的颜色吸取,然后松开Ctrl键,再到变暗的区域点几下,将刚才吸取的颜色注入(这里也可用L键激活放大镜便于点取)。点击“Process”按钮,效果是不是好多了?
还有一个问题就是边缘出现锯齿和一些色块,这时就该用到边缘羽化工具(Edge Feather Tool)了。使用起来很简单,切换到羽化工具(Edge Feather Tool),沿着色快划一圈,将要羽化的区域圈选起来。点击“Process”按钮,问题就解决了。

 

基于 NSFW Model 色情图片识别鉴黄 后面更新视频检测 项目背景: 随着互联网的快速发展,网络上的信息量呈现出爆炸式的增长。然而,互联网上的内容良莠不齐,其中不乏一些不良信息,如色情、暴力等。这些信息对青少年的健康成长和社会风气产生了不良影响。为了净化网络环境,保护青少年免受不良信息的侵害,我国政府加大了对网络内容的监管力度。在此背景下,本项目应运而生,旨在实现对网络图片和视频的自动识别与过滤,助力构建清朗的网络空间。 项目简介: 本项目基于 NSFW(Not Safe For Work)Model,利用深度学习技术对色情图片进行识别与鉴黄。NSFW Model 是一种基于卷积神经网络(CNN)的图像识别模型,通过学习大量的色情图片和非色情图片,能够准确地判断一张图片是否含有色情内容。本项目在 NSFW Model 的基础上,进一步优化了模型结构,提高了识别的准确率和效率。 项目功能: 色情图片识别:用户上传图片后,系统会自动调用 NSFW Model 对图片进行识别,判断图片是否含有色情内容。如果含有色情内容,系统会给出相应的提示,并阻止图片的传播。 视频检测:针对网络视频,本项目采用帧提取技术,将视频分解为一帧帧图片,然后使用 NSFW Model 对这些图片进行识别。如果检测到含有色情内容的图片,系统会给出相应的提示,并阻止视频的传播。 实时监控:本项目可应用于网络直播、短视频平台等场景,实时监控画面内容,一旦检测到含有色情内容的画面,立即进行屏蔽处理,确保网络环境的纯洁。
### 如何在本地部署 NSFW 模型或服务 要在本地环境中成功部署 NSFW(不适宜工作场合内容)检测模型或服务,以下是详细的说明: #### 准备环境 为了确保能够顺利运行模型和服务,需要安装必要的依赖项。这些工具和库包括但不限于以下几类: - **Python 环境**: 推荐使用 Python 3.7 或更高版本。 - **Transformers 库**: 提供加载预训练模型的功能[^1]。 - **PyTorch/TensorFlow**: 支持深度学习框架的计算需求。 - **Pillow (PIL)**: 处理图像文件并将其转换为适合输入模型的形式。 具体命令如下所示: ```bash pip install transformers torch Pillow ``` #### 加载模型与测试 通过 Hugging Face 的 `transformers` 工具包可以直接访问已有的 NSFW 图片分类模型。例如,可以采用名为 `"Falconsai/nsfw_image_detection"` 的公开模型来完成此任务[^1]。 下面是一个简单的代码片段展示如何加载该模型并对单张图片执行预测操作: ```python from PIL import Image from transformers import pipeline def classify_nsfw(image_path): # 打开指定路径下的图片文件 img = Image.open(image_path) # 初始化 image-classification 流水线对象,并指明使用的特定模型名称 classifier = pipeline("image-classification", model="Falconsai/nsfw_image_detection") # 对传入的图片调用流水线方法得到其类别标签及其置信度分数列表形式的结果 result = classifier(img) return result if __name__ == "__main__": test_img_path = "<your_test_image>" output_results = classify_nsfw(test_img_path) print(output_results) ``` 注意替换 `<your_test_image>` 成实际存在的图片绝对或者相对地址字符串值之前再尝试运行以上脚本。 #### 构建 RESTful API 服务 如果希望进一步扩展功能至 Web 应用程序层面,则可考虑利用 Flask/Django 这样的轻量级 web 开发框架构建起支持 HTTP 请求交互的服务端接口。这里给出基于 FastAPI 实现的一个简单例子作为示范用途: ```python import uvicorn from fastapi import FastAPI, File, UploadFile from PIL import Image from io import BytesIO from typing import List from pydantic import BaseModel app = FastAPI() class Prediction(BaseModel): label: str score: float @app.post("/predict/", response_model=List[Prediction]) async def predict(file: UploadFile = File(...)): try: contents = await file.read() pil_image = Image.open(BytesIO(contents)) clf_pipeline = pipeline('image-classification', model='Falconsai/nsfw_image_detection') predictions = clf_pipeline(pil_image) formatted_preds = [{"label": pred['label'], "score": round(pred['score'], 4)} for pred in predictions] return formatted_preds except Exception as e: raise ValueError(f"Error processing uploaded file {e}") if __name__ == '__main__': uvicorn.run(app, host='0.0.0.0', port=8000) ``` 启动服务器之后即可向 `/predict/` 路径发送 POST 请求附带上传待分析的目标图片获取返回结果了。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值