필자는 Mantra MFS100 광학 지문 센서를 가지고 있는데, 스캔중인 손가락 유형을 보여주는 안드로이드 앱을 만들고 싶습니다.만트라 지문 센서로 손가락 유형 감지하기
엄지 또는 색인처럼 어떤 손가락이 스캔되고 있는지 보여줄 수 있도록 응용 프로그램을 만들고 싶습니다.
참고 : 나는 성공적 만트라 MFS100 안드로이드 SDK를 다운로드하지만 손가락의 유형을 검색 할 수있는 기능은 다음
를 스캔 더는 손가락 데이터
private void StartSyncCapture() {
// //// Use thread if you want to show preview, else no need to use
// thread.
new Thread(new Runnable() {
@Override
public void run() {
SetTextonuiThread("");
try {
FingerData fingerData = new FingerData();
int ret = mfs100.AutoCapture(fingerData, timeout, true,
false);
if (ret != 0) {
SetTextonuiThread(mfs100.GetErrorMsg(ret));
} else {
final Bitmap bitmap = BitmapFactory.decodeByteArray(
fingerData.FingerImage(), 0,
fingerData.FingerImage().length);
imgFinger.post(new Runnable() {
@Override
public void run() {
imgFinger.setImageBitmap(bitmap);
imgFinger.refreshDrawableState();
}
});
SetTextonuiThread("Capture Success");
String log = "\nQuality: " + fingerData.Quality()
+ "\nNFIQ: " + fingerData.Nfiq()
+ "\nWSQ Compress Ratio: "
+ fingerData.WSQCompressRatio()
+ "\nImage Dimensions (inch): "
+ fingerData.InWidth() + "\" X "
+ fingerData.InHeight() + "\""
+ "\nImage Area (inch): " + fingerData.InArea()
+ "\"" + "\nResolution (dpi/ppi): "
+ fingerData.Resolution() + "\nGray Scale: "
+ fingerData.GrayScale() + "\nBits Per Pixal: "
+ fingerData.Bpp() + "\nWSQ Info: "
+ fingerData.WSQInfo();
SetLogOnUIThread(log);
//////////////////// Extract ANSI Template
byte[] tempData = new byte[2000]; // length 2000 is mandatory
byte[] ansiTemplate = null;
int dataLen = mfs100.ExtractANSITemplate(fingerData.RawData(), tempData);
if(dataLen<=0)
{
if(dataLen==0)
{
SetTextonuiThread("Failed to extract ANSI Template");
}
else
{
SetTextonuiThread(mfs100.GetErrorMsg(dataLen));
}
return;
}
else
{
ansiTemplate = new byte[dataLen];
System.arraycopy(tempData, 0, ansiTemplate, 0,
dataLen);
}
//////////////////////////////////////////////
//////////////////// Extract ISO Image
dataLen=0;
tempData = new byte[(mfs100.GetDeviceInfo().Width() * mfs100.GetDeviceInfo().Height())+1078];
byte[] isoImage = null;
dataLen = mfs100.ExtractISOImage(fingerData.RawData(),tempData);
if(dataLen<=0)
{
if(dataLen==0)
{
SetTextonuiThread("Failed to extract ISO Image");
}
else
{
SetTextonuiThread(mfs100.GetErrorMsg(dataLen));
}
return;
}
else
{
isoImage = new byte[dataLen];
System.arraycopy(tempData, 0, isoImage, 0,
dataLen);
}
//////////////////////////////////////////////
//////////////////// Extract WSQ Image
dataLen=0;
tempData = new byte[(mfs100.GetDeviceInfo().Width() * mfs100.GetDeviceInfo().Height())+1078];
byte[] wsqImage = null;
dataLen = mfs100.ExtractWSQImage(fingerData.RawData(),tempData);
if(dataLen<=0)
{
if(dataLen==0)
{
SetTextonuiThread("Failed to extract WSQ Image");
}
else
{
SetTextonuiThread(mfs100.GetErrorMsg(dataLen));
}
return;
}
else
{
wsqImage = new byte[dataLen];
System.arraycopy(tempData, 0, wsqImage, 0,
dataLen);
}
//////////////////////////////////////////////
SetData2(fingerData,ansiTemplate,isoImage,wsqImage);
}
} catch (Exception ex) {
SetTextonuiThread("Error");
}
}
}).start();
}
을 캡처를 시작하는 기능입니다이없는 한
안녕하세요, prob에서 나왔습니까? 지난 2 주 동안이 튜토리얼을 찾고 있지만 아무것도 찾을 수 없습니다. 문서를 읽을 수있는 곳에서 데모를 찾으십시오. 감사합니다. . – Namy