open_nsfw_android








色情图片离线识别,基于TensorFlow实现。识别只需200ms,可断网测试,成功率99%,调用只要一行代码,从雅虎的开源项目open_nsfw移植,tflite(6M)为训练好的模型(已量化),该模型文件可用于iOS、java、C++等平台,Python使用生成的tfLite文件检测图片的速度远远快于使用原模型.
本项目移除测试图片,请下载Demo后自行配图测试
使用
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
…
maven { url ‘https://jitpack.io’ }
}
}
Add the dependency 
dependencies {
//versionCode:上面小icon中最新版本号
implementation ‘com.github.devzwy:open_nsfw_android:[versionCode]’
}
扫描时报如下错误
java.lang.NullPointerException: Attempt to invoke virtual method ‘com.zwy.nsfw.api.NsfwBean com.zwy.nsfw.Classifier.run(android.graphics.Bitmap)’ on a null object reference
请添加
android {
…
aaptOptions {
noCompress “tflite”
}
}
使用
val nsfwHelper = NSFWHelper.init(NSFWConfig(assets))
val nsfwBean = nsfwHelper?.scanBitmap(bitmap)!!
nsfwBean.sfw
nsfwBean.nsfw
if(nsfwBean.nsfw>0.3){
Log.e(“NSFW”,”图片涉黄”)
}
kotlin可直接使用File.getNsfwScore(mAssetManager: AssetManager): NsfwBean 或 Bitmap.getNsfwScore(mAssetManager: AssetManager): NsfwBean 直接获取鉴定结果(NSFWHelper 1.2.9版本开始支持),比如:
val bitmap = BitmapFactory.decodeFile(path)
val nsfwScore = bitmap.getNsfwScore(assets)
if(nsfwBean.nsfw>0.3){
Log.e(“NSFW”,”图片涉黄”)
}
或
val file = File(lm.path)
val nsfwScore = file.getNsfwScore(assets)
if(nsfwBean.nsfw>0.3){
Log.e(“NSFW”,”图片涉黄”)
}
安卓手机直接点我安装
扫码下载

Demo运行结果:

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210210.html原文链接:https://javaforall.net
