SlideShare a Scribd company logo
Alessandro de Oliveira Faria (A.K.A. Cabelo) 
Certiface e a tecnologia 
Intel no combate a Fraude.
AApprreesseennttaaççããoo 
Ingressou­se 
aos 12 anos no 
mercado de tecnologia/inovação. 
● Sócio fundador da NETi TECNOLOGIA; 
● Inventor da tecnologia Certiface; 
● 102 Artigos publicados na internet (Viva O Linux e outros); 
● Embaixador openSUSE na América Latina; 
● Experiência com Visão Computacional (openCV e GPU );
Br Fraudadores: Briiggaa ddee ggaattoo ee rraattoo!!
SUPER 
99,95% 
O Certiface: PPrrootteeggee aass ppeessssooaass
Certiface e a tecnologia Intel no combate a fraude.
OO CCeerrttiiffaaccee:: OObbrriiggaaddoo IInntteell......
CCeerrttiiffaaccee:: NNaasscceeuu ggrraannddee......
Certiface e a tecnologia Intel no combate a fraude.
PPCCLL :: PPooiinntt CClloouudd LLiibbrraarryy
Certiface e a tecnologia Intel no combate a fraude.
Certiface e a tecnologia Intel no combate a fraude.
Certiface e a tecnologia Intel no combate a fraude.
Certiface e a tecnologia Intel no combate a fraude.
IInnssttaallaaççããoo ee ccoonnffiigguurraaççããoo NNDDKK:: 
$ unzip android­ndk­r4b­linux­x86. 
zip 
Pronto o NDK esta instalado com sucesso!
public class HelloNDK extends Activity { 
TextView txtHello; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
txtHello = (TextView) findViewById(R.id.txtHello); 
String hello = sayHello(); 
txtHello.setText(hello); 
} 
public native String sayHello(); 
static { 
System.loadLibrary("hellondk"); 
} 
}
$ cd ~/workspace/HelloNDK 
$ javah ­o 
hellondk.h ­classpath 
bin com.cabelo.hellondk.HelloNDK 
$ mkdir jni 
$ cp hellondk.h jni/ 
$ cd jni 
$ vi hellondk.cpp 
#include <hellondk.h> 
JNIEXPORT jstring JNICALL 
Java_com_cabelo_hellondk_HelloNDK_sayHello(JNIEnv *env, jobject 
obj){ 
return env­> 
NewStringUTF("Hello, NDK!"); 
}
PictureCallback rawCallback = new PictureCallback() { 
public void onPictureTaken(byte[] _data, Camera _camera) { 
[ … ] } }; 
void 
Java_com_cabelo_GetFace_PreviewView_RgbToGray( JNIEnv* env, 
jobject this, jbyteArray src, jintArray dst ) 
{ 
jboolean b; 
jint len; 
jbyte* srcPtr=(*env)­> 
GetByteArrayElements(env,src,&b); 
jint* dstPtr=(*env)­> 
GetIntArrayElements(env,dst,&b); 
len = (*env)­> 
GetArrayLength(env,src); 
RGB32toGray8(srcPtr, dstPtr, len); 
(*env)­> 
ReleaseByteArrayElements(env, src, srcPtr, 0); 
(*env)­> 
ReleaseIntArrayElements(env, dst, dstPtr, 0); 
};
Certiface e a tecnologia Intel no combate a fraude.
$ vi Application.mk 
APP_ABI := armeabi armeabi­v7a 
x86 
$ /usr/local/share/android­ndk­r4b/ 
ndk­build 
APP_ABI=all 
Compile++ thumb: hellondk <= ~/HelloNDK/jni/hellondk.cpp 
SharedLibrary : libhellondk.so 
Install : libhellondk.so => ~/HelloNDK/libs/armeabi 
Compile++ thumb: hellondk <= ~/HelloNDK/jni/hellondk.cpp 
SharedLibrary : libhellondk.so 
Install : libhellondk.so => ~/HelloNDK/libs/armeabi­v7 
Compile++ thumb: hellondk <= ~/HelloNDK/jni/hellondk.cpp 
SharedLibrary : libhellondk.so 
Install : libhellondk.so => ~/HelloNDK/libs/x86
OOppeennCCVV ffoorr AAnnddrrooiidd 
10 x mais performático. 
http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/O4A_SDK.html
TTBBBB ee IIPPPP ffoorr AAnnddrrooiidd 
https://software.intel.com/en-us/articles/using-intel-ipp-with-android-os 
https://www.threadingbuildingblocks.org/ 
gmake tbb tbbmalloc target=android 
https://software.intel.com/en-us/android/articles/android-tutorial-writing-a-multithreaded- 
application-using-intel-threading-building-blocks
DDeetteeccttaarr ffaacceess 
https://software.intel.com/en-us/blogs/2013/10/28/implementing-face-detection-in-android 
FaceDetector face_detector = new FaceDetector( 
background_image.getWidth(), 
background_image.getHeight(), MAX_FACES); 
faces = new FaceDetector.Face[MAX_FACES]; 
face_count = face_detector.findFaces(background_image, faces); 
Log.d("Face_Detection", "Face Count: " + 
String.valueOf(face_count));
Certiface e a tecnologia Intel no combate a fraude.
Certiface e a tecnologia Intel no combate a fraude.
Obrigado... 
alessandrofaria@netitec.com.br

More Related Content

PDF
Hashing enderecamento aberto bean - bean
DOCX
Reporte de electrónica digital con VHDL: practica 7 memorias
ZIP
Back To The Future.Key 2
TXT
Programação completa e perfeira
PDF
#JavaFX.forReal() - ElsassJUG
PDF
FrontDays #3. Иван Федяев, Эволюция JavaScript. Обзор нововведений ECMAScript 6
PDF
Star bed 2018.07.19
PDF
Stability issues of user space
Hashing enderecamento aberto bean - bean
Reporte de electrónica digital con VHDL: practica 7 memorias
Back To The Future.Key 2
Programação completa e perfeira
#JavaFX.forReal() - ElsassJUG
FrontDays #3. Иван Федяев, Эволюция JavaScript. Обзор нововведений ECMAScript 6
Star bed 2018.07.19
Stability issues of user space

Viewers also liked (20)

PDF
PDF
Latinoware relatório
ODP
Se eu fosse a Microsoft
PDF
IWEEE 2010 - Software Libre en Brasil
PDF
A EVOLUCAO DA ECONOMIA GLOBAL
PPS
Corporate lessons
PPT
EngWri 300 (Gary)
PPT
Art 372/373, Spring 2008
PPT
EngWri 300 (Silcox)
PPT
Eslr310 (Ford)
PPT
Eng 300 (Krumm), Spring 2008
PPT
Hist311 (Piscopo)
PPT
NURSE 425 (Holt)
PDF
Certiface - Intel Perceptual
PPT
Nursing 499 (Carriere), Spring 2008
PPT
From Meme To Social Fabric
PPT
EngWri 300 (Magneson)
PPT
Engwr300 Hansen
PPT
Engwr300 Garyfall08
PPT
Between Tiger And Crocodile
Latinoware relatório
Se eu fosse a Microsoft
IWEEE 2010 - Software Libre en Brasil
A EVOLUCAO DA ECONOMIA GLOBAL
Corporate lessons
EngWri 300 (Gary)
Art 372/373, Spring 2008
EngWri 300 (Silcox)
Eslr310 (Ford)
Eng 300 (Krumm), Spring 2008
Hist311 (Piscopo)
NURSE 425 (Holt)
Certiface - Intel Perceptual
Nursing 499 (Carriere), Spring 2008
From Meme To Social Fabric
EngWri 300 (Magneson)
Engwr300 Hansen
Engwr300 Garyfall08
Between Tiger And Crocodile

Similar to Certiface e a tecnologia Intel no combate a fraude. (19)

PDF
Go native benchmark test su dispositivi x86: java, ndk, ipp e tbb
PDF
Android ndk: Entering the native world
PDF
Android NDK: Entrando no Mundo Nativo
PPTX
PDF
Intel ndk - a few Benchmarks
PPTX
Using the android ndk - DroidCon Paris 2014
PDF
Tips and tricks for building high performance android apps using native code
PPTX
Getting started with the NDK
PDF
Android 5.0 Lollipop platform change investigation report
PDF
Android Native Development Kit
PDF
Native code in Android applications
PDF
Building High Performance Android Applications in Java and C++
PDF
Android on IA devices and Intel Tools
PPTX
Android NDK Intro
PPTX
Native development kit (ndk) introduction
PDF
Core Android
PDF
2013 Toorcon San Diego Building Custom Android Malware for Penetration Testing
PDF
Android OS Porting: Introduction
PDF
Getting Native with NDK
Go native benchmark test su dispositivi x86: java, ndk, ipp e tbb
Android ndk: Entering the native world
Android NDK: Entrando no Mundo Nativo
Intel ndk - a few Benchmarks
Using the android ndk - DroidCon Paris 2014
Tips and tricks for building high performance android apps using native code
Getting started with the NDK
Android 5.0 Lollipop platform change investigation report
Android Native Development Kit
Native code in Android applications
Building High Performance Android Applications in Java and C++
Android on IA devices and Intel Tools
Android NDK Intro
Native development kit (ndk) introduction
Core Android
2013 Toorcon San Diego Building Custom Android Malware for Penetration Testing
Android OS Porting: Introduction
Getting Native with NDK

Recently uploaded (20)

PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Cloud computing and distributed systems.
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
cuic standard and advanced reporting.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Encapsulation theory and applications.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Approach and Philosophy of On baking technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Cloud computing and distributed systems.
MIND Revenue Release Quarter 2 2025 Press Release
cuic standard and advanced reporting.pdf
Spectroscopy.pptx food analysis technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Programs and apps: productivity, graphics, security and other tools
NewMind AI Weekly Chronicles - August'25 Week I
Review of recent advances in non-invasive hemoglobin estimation
Encapsulation theory and applications.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Approach and Philosophy of On baking technology
Electronic commerce courselecture one. Pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Certiface e a tecnologia Intel no combate a fraude.

  • 1. Alessandro de Oliveira Faria (A.K.A. Cabelo) Certiface e a tecnologia Intel no combate a Fraude.
  • 2. AApprreesseennttaaççããoo Ingressou­se aos 12 anos no mercado de tecnologia/inovação. ● Sócio fundador da NETi TECNOLOGIA; ● Inventor da tecnologia Certiface; ● 102 Artigos publicados na internet (Viva O Linux e outros); ● Embaixador openSUSE na América Latina; ● Experiência com Visão Computacional (openCV e GPU );
  • 3. Br Fraudadores: Briiggaa ddee ggaattoo ee rraattoo!!
  • 4. SUPER 99,95% O Certiface: PPrrootteeggee aass ppeessssooaass
  • 9. PPCCLL :: PPooiinntt CClloouudd LLiibbrraarryy
  • 14. IInnssttaallaaççããoo ee ccoonnffiigguurraaççããoo NNDDKK:: $ unzip android­ndk­r4b­linux­x86. zip Pronto o NDK esta instalado com sucesso!
  • 15. public class HelloNDK extends Activity { TextView txtHello; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); txtHello = (TextView) findViewById(R.id.txtHello); String hello = sayHello(); txtHello.setText(hello); } public native String sayHello(); static { System.loadLibrary("hellondk"); } }
  • 16. $ cd ~/workspace/HelloNDK $ javah ­o hellondk.h ­classpath bin com.cabelo.hellondk.HelloNDK $ mkdir jni $ cp hellondk.h jni/ $ cd jni $ vi hellondk.cpp #include <hellondk.h> JNIEXPORT jstring JNICALL Java_com_cabelo_hellondk_HelloNDK_sayHello(JNIEnv *env, jobject obj){ return env­> NewStringUTF("Hello, NDK!"); }
  • 17. PictureCallback rawCallback = new PictureCallback() { public void onPictureTaken(byte[] _data, Camera _camera) { [ … ] } }; void Java_com_cabelo_GetFace_PreviewView_RgbToGray( JNIEnv* env, jobject this, jbyteArray src, jintArray dst ) { jboolean b; jint len; jbyte* srcPtr=(*env)­> GetByteArrayElements(env,src,&b); jint* dstPtr=(*env)­> GetIntArrayElements(env,dst,&b); len = (*env)­> GetArrayLength(env,src); RGB32toGray8(srcPtr, dstPtr, len); (*env)­> ReleaseByteArrayElements(env, src, srcPtr, 0); (*env)­> ReleaseIntArrayElements(env, dst, dstPtr, 0); };
  • 19. $ vi Application.mk APP_ABI := armeabi armeabi­v7a x86 $ /usr/local/share/android­ndk­r4b/ ndk­build APP_ABI=all Compile++ thumb: hellondk <= ~/HelloNDK/jni/hellondk.cpp SharedLibrary : libhellondk.so Install : libhellondk.so => ~/HelloNDK/libs/armeabi Compile++ thumb: hellondk <= ~/HelloNDK/jni/hellondk.cpp SharedLibrary : libhellondk.so Install : libhellondk.so => ~/HelloNDK/libs/armeabi­v7 Compile++ thumb: hellondk <= ~/HelloNDK/jni/hellondk.cpp SharedLibrary : libhellondk.so Install : libhellondk.so => ~/HelloNDK/libs/x86
  • 20. OOppeennCCVV ffoorr AAnnddrrooiidd 10 x mais performático. http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/O4A_SDK.html
  • 21. TTBBBB ee IIPPPP ffoorr AAnnddrrooiidd https://software.intel.com/en-us/articles/using-intel-ipp-with-android-os https://www.threadingbuildingblocks.org/ gmake tbb tbbmalloc target=android https://software.intel.com/en-us/android/articles/android-tutorial-writing-a-multithreaded- application-using-intel-threading-building-blocks
  • 22. DDeetteeccttaarr ffaacceess https://software.intel.com/en-us/blogs/2013/10/28/implementing-face-detection-in-android FaceDetector face_detector = new FaceDetector( background_image.getWidth(), background_image.getHeight(), MAX_FACES); faces = new FaceDetector.Face[MAX_FACES]; face_count = face_detector.findFaces(background_image, faces); Log.d("Face_Detection", "Face Count: " + String.valueOf(face_count));