TA的每日心情 | 慵懒 昨天 10:09 |
---|
签到天数: 3411 天 连续签到: 13 天 [LV.Master]2000FPS
|
发表于 2018-12-31 17:27:49
|
显示全部楼层
|阅读模式
来自:广东省东莞市 电信
注册登陆后可查看附件和大图,以及购买相关内容
您需要 登录 才可以下载或查看,没有账号?注册会员
x
LabVIEW中使用LabSQ向ACCESS数据库中插入图片
做机器视觉与图像处理,经常会遇到图像、图片的情况。同时也经常会遇到使用数据库的情况。当这两种情况都出现时,就会有客户要求,将图像也写入到数据库中。那么我们如何来实现这个过程呢?这里可以考虑两种方法。
方法1、将图片保存为到本地或网络服务器中,获取该图片的路径,将路径保存到数据库中。这种方法是多数编程工程师推荐的方法。因为这样,数据库可以做的很小。而且路径也有一定的通用性。在Access/MYSQL/MS SQL等多个环境中,都可以正常使用(本质是上写入字符串)。但是这种方式的话,比较依赖于图片的路径,如果图片文件路径有改变,那么则原始保存的路径将无效而找不到图像。如果是批量修改了图片服务器、或文件夹,那么倒是可以使用Updata语句直接修改数据库中的路径即可。但是如果是文件夹中的某些图片路径变了,或者是名称修改了。那么就只能逐个的修改,比较麻烦。
方法2、将图片转换为其它的数据方式,存入到数据库中。在MS SQL等大型数据库中,可以将图像转换为二进制方式写入。在Access中,不支持二进制方式,只能考虑使用字符串方式。本例子,则是介绍的是在Access中写入字符串图片的方式。
ACEESS数据库中写入图片并读取图片
Access数据库中的图像信息
本例子是将图像转换为二维数组(需要VDM),再使用数组至电子表格字符串函数将其转换为字符串,然后写入到数据库中。读取则使用了写入的逆过程,先读取电子表格字符串,然后使用电子表格字符串至数组函数,将其转换为二维数组,之后再使用二维数组到图像函数(需要VDM)。当然,因为保存的是字符串,这里可以有多个方式来实现,转换为二维数组只是其中的一种。另外还可以使用平化字符串等方式。本例子使用的是第三方的免费SQL工具包LabSQL,并没有使用NI官方的Database Toolkit工具包。
不过需要注意的是,本人验证,这里只能写入非常小的图像,稍微大一点的数据,因为转换为字符串后很长的串了,则无法写入,如640*480的8位灰度图像,都无法正常写入。
所以写入图像内容到数据库中,个人是不建议这种方式的。当然,各位也可以再尝试其它方法,看能不能写入大文件。
附件例子下载:
20180402 SQL ACCESS数据库插入图片.rar
(929.84 KB, 下载次数: 17, 售价: 1 元)
|
|