想将指纹图像保存在数据库中,也想检索相同的图像
Posted
技术标签:
【中文标题】想将指纹图像保存在数据库中,也想检索相同的图像【英文标题】:want to save finger print image in database and also want to retrieve the same image 【发布时间】:2019-08-21 06:26:59 【问题描述】:这是我的代码,我将指纹图像从图片框保存到文件夹,然后想以二进制格式保存。之后,当用户从生物识别扫描仪输入指纹时,验证选项将检查指纹图像和保存的图像数据库。但我不明白如何保存我的图像以及如何检索? 如果有任何错误,请帮助我。
string fname = ID.Text + ".jpg";
string folder="C:/Users/SATYASHANTI/Desktop/ARMSPROJECT/rupak/personal";
string pathstring = System.IO.Path.Combine(folder, fname);
Image a = picFinger.Image;
a.Save(pathstring);
string imglog = "";
byte[] img = null;
FileStream fs = new FileStream(imglog, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
img= br.ReadBytes((int)fs.Length);
cmd.CommandText = "insert into finger_check(emp_uniqueID,leftThum) values('"+ ID_combobox.Text+"',@leftThum)";
cmd.Parameters.Add(new SqlParameter("@leftThum",img));
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
ID_combobox.Text = string.Empty;
picFinger.Image = null;
【问题讨论】:
【参考方案1】:要从数据库中检索图像,您可以进行选择查询以从数据库中获取图像数据。 .net 中 sql 图像类型的类型是 Byte[]。您可以参考 MS 文档 (SQL Server Data Type Mappings)。下面是示例代码:
USER_INPUT:来自扫描仪的指纹图像数据
IS_FINGERPRINT_MATCH:一个函数返回布尔值,检查 2 个图像是否相同指纹。您应该参考您使用的扫描仪文档,看看是否提供了这样的功能。如果没有,你必须找到相关的算法或API来完成你的任务。
cmd.CommandText = "select emp_uniqueID ,leftThum from finger_check";
cmd.Connection = con;
con.Open();
using (SqlDataReader reader = command.ExecuteReader())
while (reader.Read())
var tempEmpId= reader["emp_uniqueID"];
var storedFingerPrintBinary = (byte[])reader["leftThum"];
if(IS_FINGERPRINT_MATCH(storedFingerPrintBinary, USER_INPUT))
//do something
break;
【讨论】:
谢谢,但我只想检索图像数据而不是路径,因为我使用生物识别扫描仪扫描指纹,所以如果我检索路径,它将无法验证任何手指。 您可以使用文件目录路径在C#中检索图像二进制数据,然后用于验证。 但是我如何保存我的图像二进制数据路径? 这取决于您的设置。如果您想这样做,托管数据库的计算机应该能够连接到站点的主机(例如,在同一网络中)。首先将图像保存到数据库的目录,然后将路径作为字符串保存到数据库表中。需要图片时,从db表中查询路径,获取该路径下的图片数据。保存文件的方法你可以参考这样的问题:***.com/questions/33842761/… 感谢您的 commt,看到我正在创建验证指纹的 Windows 应用程序,所以我需要将我的手指图像存储在数据库中。我已经将它以二进制格式保存在数据库中以供数学计算。现在我需要仅如何从表中检索二进制数据并使用给定图像进行验证。以上是关于想将指纹图像保存在数据库中,也想检索相同的图像的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Alamofire 将用户配置文件图像保存到 MYSQL 数据库,然后在以下屏幕上检索