# open_nsfw_android
[![](https://img.shields.io/badge/Download-1.5.1-brightgreen.svg)](https://mvnrepository.com/artifact/io.github.devzwy/nsfw) [![](https://img.shields.io/badge/Base-TensorFlow-brightgreen.svg)](https://github.com/devzwy/open_nsfw_android) [![](https://img.shields.io/badge/license-Apache%202-green.svg)](https://www.apache.org/licenses/LICENSE-2.0)
[![](https://img.shields.io/badge/%E4%BD%9C%E8%80%85-赵文贇-orange.svg)](https://github.com/devzwy/open_nsfw_android) [![](https://img.shields.io/badge/QQ-3648415-brightgreen.svg)](https://github.com/devzwy/open_nsfw_android) ![Plugin on redmine.org](https://img.shields.io/redmine/plugin/stars/redmine_xlsx_format_issue_exporter?color=1&logo=1)
## 该项目从[yahoo-open_nsfw](https://github.com/yahoo/open_nsfw)移植,本人能力有限,停止维护该库,部分图片识别可能不准确,仅能保证pb模型识别的结果与tflite结果一致,误差不超过0.00001
>所有相关数据已放在data目录下,需要自取
### 色情图片离线识别,基于TensorFlow实现。识别只需20ms,可断网测试,调用只要一行代码,从雅虎的开源项目open_nsfw移植,该模型文件可用于iOS、java、C++等平台
### ⚠️⚠️⚠️ 已从jCenter仓库迁移到Maven,原引用地址发生变更,建议所有老用户升级到新版本。新版本需要手动下载[nsfw.tflite](https://github.com/devzwy/open_nsfw_android/blob/dev/app/src/main/assets/nsfw.tflite)模型初始化使用
### iOS请参考:[issues13](https://github.com/devzwy/open_nsfw_android/issues/13)
### Python参考:[NSFW-Python](https://github.com/devzwy/NSFW-Python)、[Python-TensorflowLite-Api](https://tensorflow.google.cn/api_docs/python/tf/lite)、[Python-Tensorflow-Api](https://tensorflow.google.cn/api_docs/python/tf)
### Java参考:[Tensorflow-Api](https://tensorflow.google.cn/api_docs/java/reference/org/tensorflow/package-summary)
### C++参考:[TensorflowLite-Api](https://tensorflow.google.cn/lite/api_docs/cc)
### JavaScript参考[JS相关文档](https://js.tensorflow.org/api/latest/)
>>> 其中Python、C++均有两种数据喂入的方式,可根据需求选择pb模型或tfLite文件,详细请参考上面的链接.Java的目前只能加载pb模型。其他的平台可自行[百度](https://www.baidu.com)
### 本项目移除测试图片,请下载Demo后自行配图测试
#### 测试图片
![图片](https://github.com/devzwy/open_nsfw_android/blob/dev/img/demopic.png)
### 开始使用_
- 🔥 __[下载模型文件](https://download.fr71.com/open/nsfw.tflite)并放入assets目录下__
![图片](https://github.com/devzwy/open_nsfw_android/blob/dev/img/assets.png)
- 🔥 __开启tflite文件读取支持__(解决模型放在assets目录下无法读取的问题。如果模型不放在assets目录下可跳过该步骤)
```
android {
...
aaptOptions {
//防止模型被压缩
noCompress "tflite"
}
}
```
- 🔥 __引入依赖__
```
dependencies {
...
implementation 'io.github.devzwy:nsfw:1.5.1'
}
```
- 🔥 __初始化__(建议在Application中进行)
```
class KtApp : Application() {
override fun onCreate() {
super.onCreate()
//开启日志输出,可选
NSFWHelper.openDebugLog()
//扫描前必须初始化
NSFWHelper.initHelper(
context = this)
//初始化api原型
/* NSFW初始化函数 内部日志默认关闭,调试环境可使用openDebugLog()开启日志*/
fun initHelper(
context: Context, //建议传入application,传入activity可能会有内存泄漏
modelPath: String? = null,//模型文件路径,为空时将默认从Assets下读取
isOpenGPU: Boolean = true, //是否开启GPU扫描加速,部分机型兼容不友好的可关闭。默认开启
numThreads: Int = 4 //扫描数据时内部分配的线程 默认4
)
}
}
```
- 🔥 __支持的api列表__ 带返回值的为同步,传入函数的为异步:
>>>> __同步识别文件:__ [NSFWHelper.getNSFWScore(file: File): NSFWScoreBean](https://github.com/devzwy/open_nsfw_android/blob/dev/nsfw/src/main/java/io/github/devzwy/nsfw/NSFWHelper.kt)
>>>> __异步识别文件:__ [getNSFWScore(file: File, onResult: ((NSFWScoreBean) -> Unit))](https://github.com/devzwy/open_nsfw_android/blob/dev/nsfw/src/main/java/io/github/devzwy/nsfw/NSFWHelper.kt)
>>>> __同步识别文件:__ [getNSFWScore(filePath: String): NSFWScoreBean](https://github.com/devzwy/open_nsfw_android/blob/dev/nsfw/src/main/java/io/github/devzwy/nsfw/NSFWHelper.kt)
>>>> __异步识别文件:__ [getNSFWScore(filePath: String, onResult: ((NSFWScoreBean) -> Unit))](https://github.com/devzwy/open_nsfw_android/blob/dev/nsfw/src/main/java/io/github/devzwy/nsfw/NSFWHelper.kt)
>>>> __同步识别bitmap:__ [getNSFWScore(bitmap: Bitmap): NSFWScoreBean](https://github.com/devzwy/open_nsfw_android/blob/dev/nsfw/src/main/java/io/github/devzwy/nsfw/NSFWHelper.kt)
>>>> __异步识别bitmap:__ [getNSFWScore(bitmap: Bitmap, onResult: ((NSFWScoreBean) -> Unit))](https://github.com/devzwy/open_nsfw_android/blob/dev/nsfw/src/main/java/io/github/devzwy/nsfw/NSFWHelper.kt)
- 🔥 __识别结果说明__
```
NSFWScoreBean.sfw ... 非涉黄数值 数值越大约安全
NSFWScoreBean.nsfw ... 涉黄数值 数值越大约危险
NSFWScoreBean.timeConsumingToLoadData ... 装载数据耗时 单位ms
NSFWScoreBean.timeConsumingToScanData ... 扫描图片耗时 单位ms
```
- 🔥 __调用参考__
```
//异步方式
NSFWHelper.getNSFWScore(item.bitmap) {
this.text =
"nsfw:${it.nsfwScore}\nsfw:${it.sfwScore}\n扫描耗时:${it.timeConsumingToScanData} ms"
if (it.nsfwScore > 0.7) {
this.setBackgroundColor(Color.parseColor("#C1FF0000"))
} else if (it.nsfwScore > 0.5) {
this.setBackgroundColor(Color.parseColor("#C1FF9800"))
} else {
this.setBackgroundColor(Color.parseColor("#803700B3"))
}
}
//同步方式
NSFWHelper.getNSFWScore(item.bitmap).let {
this.text =
"nsfw:${it.nsfwScore}\nsfw:${it.sfwScore}\n扫描耗时:${it.timeConsumingToScanData} ms"
if (it.nsfwScore > 0.7) {
this.setBackgroundColor(Color.parseColor("#C1FF0000"))
} else if (it.nsfwScore > 0.5) {
this.setBackgroundColor(Color.parseColor("#C1FF9800"))
} else {
this.setBackgroundColor(Color.parseColor("#803700B3"))
}
}
```
### 🔥 安卓手机直接[点我安装](http://d.6short.com/q9cv)
### 🔥 扫码下载
![图片](https://github.com/devzwy/open_nsfw_android/blob/dev/img/2.png)
没有合适的资源?快使用搜索试试~ 我知道了~
基于TensorFlow实现色情图片离线识别,识别只需20ms,可断网测试,,该模型文件可用于iOS、java、C++等平台全部...
共73个文件
xml:21个
webp:10个
kt:8个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 145 浏览量
2024-12-24
10:31:41
上传
评论
收藏 193.61MB ZIP 举报
温馨提示
【资源说明】 基于TensorFlow实现色情图片离线识别,识别只需20ms,可断网测试,,该模型文件可用于iOS、java、C++等平台全部资料+详细文档+优秀项目.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于TensorFlow实现色情图片离线识别,识别只需20ms,可断网测试,成功率99%,调用只要一行代码,从雅虎的开源项目open_nsfw移植,该模型文件可用于iOS、java、C++等平台全部资料+详细文档+优秀项目.zip (73个子文件)
CSDN
软件
项目授权码.txt 268B
open_nsfw_android-master
gradle.properties 1KB
gradle
wrapper
gradle-wrapper.jar 58KB
gradle-wrapper.properties 230B
app
src
androidTest
java
com
example
ona
ExampleInstrumentedTest.kt 657B
test
java
com
example
ona
ExampleUnitTest.kt 339B
main
assets
nsfw.tflite 22.5MB
java
com
example
ona
MainActivity.kt 5KB
CameraListener.kt 452B
DualCameraHelper.java 19KB
res
mipmap-xxhdpi
ic_launcher_round.webp 6KB
ic_launcher.webp 3KB
mipmap-hdpi
ic_launcher_round.webp 3KB
ic_launcher.webp 1KB
drawable-v24
ic_launcher_foreground.xml 2KB
mipmap-anydpi-v26
ic_launcher.xml 272B
ic_launcher_round.xml 272B
values-night
themes.xml 817B
mipmap-mdpi
ic_launcher_round.webp 2KB
ic_launcher.webp 982B
mipmap-xxxhdpi
ic_launcher_round.webp 8KB
ic_launcher.webp 4KB
mipmap-xhdpi
ic_launcher_round.webp 4KB
ic_launcher.webp 2KB
mipmap-anydpi-v33
ic_launcher.xml 343B
xml
data_extraction_rules.xml 551B
backup_rules.xml 478B
values
colors.xml 378B
strings.xml 79B
themes.xml 817B
layout
activity_main.xml 1KB
drawable
ic_launcher_background.xml 5KB
AndroidManifest.xml 1KB
proguard-rules.pro 750B
build.gradle 1KB
.gitignore 6B
data
checkpoint 87B
tf.tflite 22.52MB
nsfw-graph.pb 23.08MB
nsfw_model.ckpt.index 12KB
nsfw2.tflite 5.68MB
frozen_nsfw.pb 22.79MB
nsfw_model.ckpt.data-00000-of-00001 22.68MB
nsfw.tflite 22.5MB
saved_model.pb 23.17MB
pb.pb 27KB
nsfw_model.ckpt.meta 23.22MB
variables
variables.index 12KB
variables.data-00000-of-00001 22.68MB
gradlew.bat 3KB
build.gradle 295B
.idea
.name 17B
codeStyles
codeStyleConfig.xml 142B
Project.xml 4KB
deploymentTargetDropDown.xml 545B
vcs.xml 180B
misc.xml 468B
compiler.xml 169B
gradle.xml 730B
.gitignore 47B
settings.gradle 350B
gradlew 6KB
nsfw
src
androidTest
java
io
github
nsfw
ExampleInstrumentedTest.kt 660B
test
java
io
github
nsfw
ExampleUnitTest.kt 338B
main
java
io
github
nsfw
Nsfw.kt 3KB
kt.kt 533B
AndroidManifest.xml 200B
proguard-rules.pro 750B
build.gradle 1KB
consumer-rules.pro 0B
.gitignore 6B
.gitignore 225B
README.md 7KB
共 73 条
- 1
资源评论
Yuki-^_^
- 粉丝: 3104
- 资源: 3611
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Qt的上海地铁换乘系统详细文档+全部资料+高分项目.zip
- 发那科机器人二次开发 C#读取和写入数据,可以获取点位信息
- 基于QT的人脸识别,定位导航,脑电心率测算,用GPRS传到服务端的疲劳驾驶检测系统详细文档+全部资料+高分项目.zip
- 基于Qt的图书管理系统普通用户操作界面详细文档+全部资料+高分项目.zip
- 基于Qt的文件共享系统,类似百度网盘详细文档+全部资料+高分项目.zip
- 基于QT的网络视频监控系统详细文档+全部资料+高分项目.zip
- 基于QT的图书管理系统详细文档+全部资料+高分项目.zip
- 基于QT的学生成绩管理系统,QSS界面设计,SQL数据库的使用详细文档+全部资料+高分项目.zip
- 基于Qt的物业管理系统详细文档+全部资料+高分项目.zip
- 基于QT的直播管理系统详细文档+全部资料+高分项目.zip
- 基于Qt的学生信息管理系统、教师端:支持增删查改,班级成绩分析。学生端:查看成绩详细文档+全部资料+高分项目.zip
- 基于Qt的智能病房系统详细文档+全部资料+高分项目.zip
- 基于Qt构建的目标检测系统。基于dlib_rear_end_vehicles数据集详细文档+全部资料+高分项目.zip
- 基于QT的智能家居系统详细文档+全部资料+高分项目.zip
- 基于Qt和Mysql的教务管理系统详细文档+全部资料+高分项目.zip
- 基于Qt和mysql的大学生二手管理系统详细文档+全部资料+高分项目.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功