精华内容
下载资源
问答
  • 数据库存图片

    千次阅读 2019-06-25 15:54:13
    所谓数据库存图片,并不能真的将照片存入。解释如下: 图一 如上图属性pimage所示,其中的图片存入的仅仅是一个网站的部分路径 ...

    所谓数据库存图片,并不能真的将照片存入。解释如下:

                                                                                                    图一

    如上图属性pimage所示,其中的图片存入的仅仅是一个网站的部分路径

                                                                                                    图二

    上图jsp文件中通过newPro.pimage来进行图片路径的索引(图片实际是存在服务端的文件夹中),然后在图一中的pimage的属性中可以看到image/d.jpg(实际就是图片存在服务端文件路径),如下图上所示:

                                       

                                                                                                    图三

    部分代码实现的效果如上图显示

     

    展开全文
  • 基于适用于库存图片社的工具“ Image Tagger”-将多个关键字作为带有分隔符,标题和说明的长字符串处理,可以由库存图片社自动识别。 可以对关键字进行排序,并删除重复项。 元数据可以应用于多个选定的图像。 可以...
  • 2. 照片大小小于1M的将其保存到数据库中,超过1M的保存到磁盘文件中。 3. 必须对用户密码进行加密。 4. 登录时必须查询数据库对用户名及其加密后的密码进行验证。 5. 登录成功后显示用户名、密码、用户所上传的...
    编写一个Java程序,利用Swing、IO流、JDBC技术完成一个注册、登录功能。
    要求:
    1. 注册时要上传用户照片。
    2. 照片大小小于1M的将其保存到数据库中,超过1M的保存到磁盘文件中。
    3. 必须对用户密码进行加密。
    4. 登录时必须查询数据库对用户名及其加密后的密码进行验证。
    5. 登录成功后显示用户名、密码、用户所上传的照片。


    半成品 开发速度太垃圾了

    操作系统:win98
    编程工具:VB5.0
    用vb中的picture控件的line在picture控件中绘制完图形后,把图形放在和该控件相连接的ACCESS数据库中的一个字段中(字段定义类型为OLE),这样做数据库所占用磁盘空间很大,不知怎样做,才能使其占用很小的存储空间。

    回答:

    把图形放在Access数据库中会使文件尺寸增加不少。你可以只在数据库中保存文件名,而将图片放在单独的目录中,每次从磁盘中动态读入,这样占的地方比较少。
    另外,你可以把BMP格式转换为GIF或JPEG格式。参考:QA000398 "如何在VB中编程使.bmp文件转换为.gif或.jpg文件"


    //数据库MD5加密
    package MD5CopePassWord;


    import java.io.UnsupportedEncodingException;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.security.SecureRandom;

    public class MD5Encrypt {
    //随机值(12位,由系统产生) 加盐
    //原码(123)
    //密码
    //随机值 + 密码 (保存到数据库)
    public static byte[] doEncrypt(String password) throws NoSuchAlgorithmException,
    UnsupportedEncodingException {
    SecureRandom random = new SecureRandom();
    byte[] salt = new byte[12];
    byte[] encryptPassword = null;
    random.nextBytes(salt);
    for(byte b : salt){
    System.out.print(b + "\t");
    }
    System.out.println();
    MessageDigest messageDigest = MessageDigest.getInstance("MD5");
    messageDigest.update(salt); //追加
    messageDigest.update(password.getBytes());
    byte[] digest = messageDigest.digest();
    encryptPassword = new byte[digest.length + 12];
    System.arraycopy(salt, 0, encryptPassword, 0, 12);
    System.arraycopy(digest, 0, encryptPassword, 12, digest.length);
    System.out.println(encryptPassword.length);
    for(byte b : encryptPassword){
    System.out.print(b + "\t");
    }
    return encryptPassword;
    }
    }
    展开全文
  • var _jsonReader = new Ext.data.JsonReader({ root: 'root', ...数据是有的,在action里System.out.println可以打出来,其他数据都有显示 [b]问题补充:[/b] alert打出来_jsonReader.jsonData是undefined
  • BlueprintsInventoryApp 带有Python后端的交互式Web应用程序。 允许最终用户扫描医疗用品标签,应用程序将其刮取以获取数据并将其发送到中央... 旨在自动执行当前的库存操作,即手动刮除基本标签数据的供应标签照片
  • 在上照片 Etsy小型企业的库存管理 一家小型企业,可以根据Etsy的需求提供用品,帮助管理库存。 他们从海外获得库存,因此补货项目的交货时间较长。 Etsy商店需要帮助,以便提前确定需要重新订购的物品。 他们要求...
  • 人脸识别系统_人脸注册

    千次阅读 2018-03-21 12:30:17
    数据库存照片存放的路径,2.数据库存放照片的二进制码。但是针对我的毕业设计我想要是存路径的话,万一一不小心图片删除了,岂不是很麻烦,也就是我觉得要是系统迁移的话容易数据丢失(小白想法,其实正常情况下都是...

        基于上次的人脸检测后,一直纠结人脸注册,照片存放方式,我想到了两种方式,1.数据库存照片存放的路径,2.数据库存放照片的二进制码。但是针对我的毕业设计我想要是存路径的话,万一一不小心图片删除了,岂不是很麻烦,也就是我觉得要是系统迁移的话容易数据丢失(小白想法,其实正常情况下都是直接存的图片路径)。直接存照片的话数据库压力,开销等都比较大。所以最终小白还是选择了存图片路径的方式。

        其实吧,我上面都想多了,百度云早就想好了,在你调用注册的时候他就帮你存图片在百度云上了。接口返回该照片的uid唯一标识。我们只需要记住该uid即可。

        前端html

    
    
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="Content-Type" content="multipart/form-data; charset=UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">	
    <title>人脸检测</title>
    <script src="bank_resource/jquery.min.js" type="text/javascript" charset="utf-8"></script>	
    <title>人脸检测</title>
    <script src="bank_resource/jquery.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="bank_resource/main.js" type="text/javascript" charset="utf-8"></script>
    <style> 
    .div-a{ float:left;width:100%;height:49%;border:1px solid #F00} 
    #img{
    	width: 100%;
    	height: 100%;
    	display: none;
    }
    span{ font-size:25px }
    </style> 
    </head> 
    <body>  
    	<div class="div-a" id="contentHolder">
    		<input type="button" id="snap" style="width:100px;height:35px;" value="拍 照" />
    		<input type="button" id="btnres" style="width:100px;height:35px;" value="重新拍照" />
    		<input type="button" onclick="CatchCode();" style="width:100px;height:35px;" value="上传服务器" />
    		<video id="video" width="100%" height="100%" autoplay></video>
    		<canvas style="" hidden="hidden"  id="canvas" width="520" height="250"></canvas>
    		<img id='img' src=''>
    	</div> 
    </body>

     

    js部分 main.js

    	//判断浏览器是否支持HTML5 Canvas
    	window.onload = function () {
    		try {
    		//动态创建一个canvas元 ,并获取他2Dcontext。如果出现异常则表示不支持 document.createElement("canvas").getContext("2d");
    		 //document.getElementById("support").innerHTML = "浏览器支持HTML5 CANVAS";
    		}
    		catch (e) {
    		// document.getElementByIdx("support").innerHTML = "浏览器不支持HTML5 CANVAS";
    		}
    	}; 
    	var mediaStreamTrack,video,videoObj,errBack;
    	/**  jQ加载函数  */
    	$(function(){
    		$("#btnres").click(fnResetPhotoGraph);
    		// 初始化
    		var canvas = document.getElementById("canvas"),
    		context = canvas.getContext("2d");
    		video = document.getElementById("video"),
    		videoObj = { "video": true },
    		errBack = function (error) {
    			console.log("Video capture error: ", error.code);
    		};
    		//拍照按钮
     		$("#snap").click(function (){
     			fnPhotoGraph(context,canvas);
     		});
    		// 打开摄像头
     		fnOpenVideo(video,videoObj,errBack);
    	});
    	/**  拍照  */
    	function fnPhotoGraph(context,canvas){
    		context.drawImage(video, 0, 0, 330, 250); 
    		var img = document.getElementById('img');
    		img.src = canvas.toDataURL("image/png");
    		$("#img,#btnres").show();
    		$("#video,#snap").hide();
    		fnCloseVideo();
    		CatchCode();		
    	}
    	
    	/**  重新拍照  */
    	function fnResetPhotoGraph(){
    		$("#video,#snap").show();
    		$("#img,#btnres").hide();
    		fnOpenVideo(video,videoObj,errBack);
    		$(".msg").html("");
    	}
    	
    	/** 打开摄像头
    	*/
    	function fnOpenVideo(video,videoObj,errBack){
    		if (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia) {
    		    navigator.getUserMedia=navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
    		   
    		    navigator.getUserMedia(videoObj, function (stream) {
    		    	mediaStreamTrack = stream;
    				video.srcObject  = stream;
    				video.play();
    			}, errBack);
    		}
    	}
    	
    	/**
    		关闭摄像头
    	*/
    	function fnCloseVideo(){
    		mediaStreamTrack.getTracks().forEach(function (track) {
                track.stop();
            });
    	}
    	
    	function dataURItoBlob(base64Data) {
    		var byteString;
    		if (base64Data.split(',')[0].indexOf('base64') >= 0)
    		byteString = atob(base64Data.split(',')[1]);
    		else
    		byteString = unescape(base64Data.split(',')[1]);
    		var mimeString = base64Data.split(',')[0].split(':')[1].split(';')[0];
    		var ia = new Uint8Array(byteString.length);
    		for (var i = 0; i < byteString.length; i++) {
    		ia[i] = byteString.charCodeAt(i);
    		}
    		return new Blob([ia], {type:mimeString});
    	}
    	
    	//上传服务器
    	function CatchCode() {
    		var canvans = document.getElementById("canvas");
    		//获取浏览器页面的画布对象
    		//以下开始编 数据
    		var imageBase64 = canvans.toDataURL();
    		var blob = dataURItoBlob(imageBase64);
    		var fd = new FormData(document.forms[0]);
    		fd.append("photo", blob, 'image.png');
    		//将图像转换为base64数据
    		$.ajax({
    	   		type:"POST",
    	   		url:"http://localhost:8080/desing/faceRecognition/registerFace.do",
    	   		processData: false,     // 必须
    	      	contentType: false,     // 必须
    	      	data:fd,
    	    	datatype: "json",
    	   		success:function(data){
    		   		var mes = eval(data);
    		   		if (mes.success) { 
    		   			var ok  = confirm("注册成功是否继续注册?","继续注册","放弃继续注册");
    		   			if(ok){
    		   				fnResetPhotoGraph();
    		   			} else {
    		   				fnCloseVideo();
    		   			}
    		   		}
    	   		},
    	   		error: function(){
    	    		//请求出错处理
    	    		alert("加载异常!");
    	    	}         
    	  	});
    	}

    后端action部分:

     

    package com.xihua.facedistinguish.action;
    
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.sql.SQLException;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import javax.annotation.Resource;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import net.sf.json.JSONObject;
     
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.multipart.MultipartFile;
    import org.springframework.web.servlet.ModelAndView;
     
    import com.xihua.facedistinguish.entity.PhotoImage;
    import com.xihua.facedistinguish.service.RegisterService;
    
    /**
     * 人脸识别服务 controller
     * @author cc_小白成长
     *
     */
    @Controller
    @RequestMapping(value = "faceRecognition")
    public class FaceRecognitionAction {
    	@Resource 
    	private RegisterService registerService;
    	 
    	/**
       	 * 请求人脸注册
       	 * @return
       	 * @throws Exception  
       	 */
    	@RequestMapping(value = "/registerFace.do")
    	@ResponseBody
    	public Map<String, Object> registerFace(@RequestParam("photo") MultipartFile file) {
    		Map<String, Object> modelMap = new HashMap<String, Object>();
    		try {
    			//将数据转为流
    			InputStream content = file.getInputStream();
    			ByteArrayOutputStream swapStream = new ByteArrayOutputStream();  
    	        byte[] buff = new byte[100];  
    	        int rc = 0;  
    	        while ((rc = content.read(buff, 0, 100)) > 0) {  
    	            swapStream.write(buff, 0, rc);  
    	        }  
    	        //获得二进制数组
    	        byte[] in2b = swapStream.toByteArray(); 
    	        //调用人脸检测的方法
    	        PhotoImage phi =  FaceDetect.add(in2b);
    	        // 调用自己的service方法,该方法是存图片信息到自己的数据库,目前你可以不用使用。
    	        //registerService.insert(phi);
    			modelMap.put("success", true);
    		} catch (Exception e) {
    			modelMap.put("success", false);
    			modelMap.put("data", e.getMessage());
    		}
    		return modelMap;
    	}
    	
    }

    FaceDetect.java

     

    /**
    * 人脸探测
    * @author cc_小白成长
    * @data 2017-11-15
    */
    public class FaceDetect {
    	 /**
         *  
         * 人脸注册
         *  针对数据库直接存照片二进制情况
         * @param in2b 照片二进制信息
         * @return 返回封装的人脸信息
         */
         @SuppressWarnings("static-access")
    	public static PhotoImage add(byte [] in2b) {
             // 请求url
             String url = "https://aip.baidubce.com/rest/2.0/face/v2/faceset/user/add";
             try { 
                 String imgStr = Base64Util.encode(in2b);
                 String imgParam = URLEncoder.encode(imgStr, "UTF-8");
                 
             //uid ,user_info,group_id可以自行修改 

    String param = "uid=" + "atm_user" + "&user_info=" + "userInfo" + "&group_id=" + "atm_group" + "&images=" + imgParam;

    // 注释0 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。

    String accessToken = "24.4baee8523e77221d4d808ecbcca53355.2592000.1524188239.282335-10949124"; //FaceUtil.getAuth();//"请设置您的token"; String result = HttpUtil.post(url, accessToken, param); PhotoImage phi = null; JSONObject js = new JSONObject().fromObject(result); if(js.get("error_code") == null){ phi.setHp_id(js.getString("log_id")); phi.setHp_photo(in2b); } return phi; } catch (Exception e) { e.printStackTrace(); } return null; } /** * * 人脸注册 * 针对数据库存照片路径的情况 * @param imgurl 照片存放的路径 * @return 返回封装的人脸信息 */ @SuppressWarnings("static-access") public static PhotoImage add(String imgurl) { // 请求url String url = "https://aip.baidubce.com/rest/2.0/face/v2/faceset/user/add"; try { // 本地文件路径 String filePath = imgurl; byte[] imgData = FileUtil.readFileByBytes(filePath); String imgStr = Base64Util.encode(imgData); String imgParam = URLEncoder.encode(imgStr, "UTF-8");             //uid ,user_info,group_id可以自行修改
    String param = "uid=" + "atm_user" + "&user_info=" + "userInfo" + "&group_id=" + "atm_group" + "&images=" + imgParam;

    // 注释0 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。

    String accessToken = "24.4baee8523e77221d4d808ecbcca53355.2592000.1524188239.282335-10949124"; //FaceUtil.getAuth();//"请设置您的token"; String result = HttpUtil.post(url, accessToken, param); PhotoImage phi = null; JSONObject js = new JSONObject().fromObject(result); if(js.get("error_code") == null){ phi.setHp_id(js.getString("log_id")); phi.setHp_photo(imgData); } return phi; } catch (Exception e) { e.printStackTrace(); } return null; }}

    PhotoImage.java 按照自己数据库设计实现

    public class PhotoImage {
    	private String hp_id;
    	private String hp_name;
    	private byte [] hp_photo;
    	private String imgurl;
    ....... get/set/toSting/构造方法等
    }

    以上测试通过。 

     

    在登陆自己的百度云账号查看存储的照片信息

     

    那么问题来了

    1.这里不应该一个人重复注册,接下来学习人脸对比。

    2.我还是不想把图片存在百度云中,最终的目的是使用人脸登陆所有信息存在自己数据库服务器中。

    欢迎大家相互学习。如有bug请直接指出。谢谢。

     

     

     

     

     

     

     

     

     

    展开全文
  • 一、昨天做了什么: 进行摁电源键后开屏自启动刷脸功能的编写 二、今天准备做什么: ... 数据库存照片与相机的比对处出现问题,比对失败 转载于:https://www.cnblogs.com/wuyw/p/5553060.html...

    一、昨天做了什么:

         进行摁电源键后开屏自启动刷脸功能的编写

    二、今天准备做什么:

         开屏后调出了刷脸界面,准备解决获取照片后与数据中的比对

    三、遇到的困难:

         数据库存照片与相机的比对处出现问题,比对失败

    转载于:https://www.cnblogs.com/wuyw/p/5553060.html

    展开全文
  • 数据大师

    2006-03-16 00:00:00
    数据大师》是专门针对各行政、企事业单位不同管理需求而设计的傻瓜式通用信息管理软件,能用于任何单位的各种具有二维表特征的信息处理工作,诸如工资、固定资产、人事、商务、库存、档案、客户资料、学籍成绩、...
  • 在您开始之前,请确保检查出非常不错的网站,提供免费的库存照片:) 建立 访问以获取安装说明。 将RandomData添加到项目的依赖项中。 仅选择您需要的模块(由于其大小): dependencies { implementation '...
  • 第7章 数据绑定控件

    2011-05-27 11:23:57
    实例220 嵌套DropDownList控件根据库存量 设置商品停售 348 实例221 嵌套CheckBox实现批量删除和更新 供求信息 349 实例222 结合CheckBox实现密码重置 (MD5加密) 351 实例223 结合哈希表设置在线考试后台管理 权限...
  • 这是Tu Libro a Ciegas项目的内部工具,用于使用Google Cloud Platform and Books API管理可用图书的库存。 在Google Storage中管理书籍照片 使用Google Vision从书的封面照片中提取文本 使用Google Books API搜索...
  • 用化身和来自随机数据填充Sketch中的... 特征: :ledger: 用随机名称填充文本层 shapes用随机头像填充形状的正版照片 :family_man_woman_girl_boy: 支持团体 :heart_decoration: 支持符号 :level_slider: 在高...
  • 可自定义数据项目、录入限制条件、计算公式、报表格式、操作权限等,具全方位数据处理和查询统计以及统计分析图表功能,具自动填充录入和关联更新功能,具强大的照片和文件管理功能;超强的子表功能让您能轻松组建...
  • 可自定义数据项目、录入限制条件、计算公式、报表格式、操作权限等,具全方位数据处理和查询统计以及统计分析图表功能,具自动填充录入和关联更新功能,具强大的照片和文件管理功能;超强的子表功能让您能轻松组建...
  • 具强大的照片和文件管理功能,数据导出导入功能,所见即所得的表格设计和快速动态报表制作功能,能任意分类别打印制作各种二维式、卡片式、工资条式、信封式表格。 3.通用性能好:能用于各种586及以上微机,...
  • 数据大师》是独具量身定制特色的傻瓜式通用信息(数据库)管理软件,能用于任何单位的各种信息管理工作,诸如工资、固定资产、人事、商务、库存、档案、客户资料、学籍成绩、中介信息、家庭事务等。用户能根据自身...
  • 当设计师使用库存照片和图像为设计增色时,摄像师现在可以使用许多高质量的库存视频库来做同样的事情。 无论您是专业的视频编辑器还是业余摄像师,您都绝对可以免费使用成千上万的高清视频片段 。 是的,是的。 ...
  • 具强大的照片和文件管理功能,数据导出导入功能。具强大的打印制表功能,能任意分类别打印制作各种二维式、卡片式、工资条式、信封式表格和照片,其强大的快速动态报表制作功能更是独具特色,用户能根据任意DBF...
  • 实例220 嵌套DropDownList控件根据库存量 设置商品停售 348 实例221 嵌套CheckBox实现批量删除和更新 供求信息 349 实例222 结合CheckBox实现密码重置 (MD5加密) 351 实例223 结合哈希表设置在线考试后台管理 权限...
  • 一.我所理解的python能干的事情

    千次阅读 2018-06-20 10:50:51
    python能做什么?...举个例子:大数据是当下时代时常听到的词,比如淘宝的所有数据,图片,价格,库存量就是一个大的数据,使用python可以对大数据进行分析,分析出用户所喜爱的爆款商品以及点击率最...
  • Redis命令

    2019-10-05 20:20:04
    有2个实际业务,数据库存着一些结构化图片,有以下的结构,比如天气是晴天的图片,天气是雨天的图片,天气是阴天的图片,地点是杭州的图片,地点是上海的图片等。我现在要找晴天and杭州的照片,或者要找...
  • shopee-tokotalk-源码

    2021-03-09 12:09:19
    Shopee Scrape是一种工具,用于收集数据-所需的数据,例如从照片,价格,名称,商店位置和其他位置查找数据。 用 :red_heart: 通过 HTML Shopee抓取 导出到Excel 工具功能 姓名 状态 信息 娜玛·巴朗(Nama ...
  • 开始学习 Python编程 从入门到实践。

    千次阅读 2017-12-21 15:35:07
    1,ISP自动管理程序(可以对上传数据进行分析,比对,自动给出库存,需要下单量,以及识别风险,风险包括库存风险和缺货风险) 2,照片管理程序(家庭照片太多,管理费时,需要一个类似picas的程序来管理) 3,...
  • 隐写邮票:物理照片中不...​ 我们的方法与无处不在的QR码和类似技术有关,这些技术如今已广泛用于各种数据传输任务,例如共享网址,购买商品和跟踪库存。我们的方法可以看作是一种补充解决方案,可以避免可见的,难看
  • 在我的Java应用程序中,我正在维护一个用户数据库,并且必须将用户帐户图片与其他详细信息一起存储.我可以将照片存储在数据库中,也可以将图像存储在文件系统中,并将相关...我建议您使用文件系统,但不允许使用数据库存...
  • 要求:具有Sequelize ORM GET和POST路由的节点和Express Web Server MySQL数据库基本测试框架(可能是Mocha和Chai)使用Heroku(带有数据)(Duh!)技术进行了部署-Passport.js(至少)是抛光的前端/ UI- (我保证...
  • 蓝点产品管理系统是基于蓝点通用管理系统而设计的一款产品管理软件,可用于以WEB方式对产品、文档、客户、供应商、订单及产品库存数据等进行在线的管理、维护和查询,可满足产品管理的一切需求,并具有高度的扩展性...
  • Verossa Valley是一个功能完善的演示网上商店应用程序,描绘了一个虚构的品牌,出售照片和印刷品。 该网上商店应用程序完全可以正常运行,并且像真正的网上商店一样工作,但是付款过程是在沙盒模式下进行的。 设计是...

空空如也

空空如也

1 2 3 4 5 6
收藏数 104
精华内容 41
关键字:

数据库存照片