二维码扫描与生成程序介绍

版权申诉
0 下载量 20 浏览量 更新于2024-10-12 收藏 2.26MB ZIP 举报
资源摘要信息:"QR码是一种矩阵二维码符号,是一种存储数据的载体。它能够以特定的黑白像素图案表示信息,这些信息可以包括网址、文本、联系信息等多种数据。QR码的全称是Quick Response Code,由日本公司Denso Wave在1994年开发,目的是在汽车制造中追踪零部件。然而,QR码的应用迅速扩展到其他行业,包括营销、广告、物流跟踪和许多其他领域。 描述中的程序"scans and creates a QR code"指出该程序具备扫描和生成二维码的功能。这意味着程序能够读取已经存在的二维码,并将其转换为可识别的格式,如文本或网址等。同时,程序还能够根据用户输入的信息生成新的二维码,方便将信息编码后进行打印或分享。这种功能在移动设备和网络服务中十分常见,用于快速分享信息或访问链接,无需手动输入复杂的网址或文本。 标签"qr_code_"表明这个压缩包文件与二维码(QR Code)相关。标签通常用于分类和搜索,这里的标签意味着用户在搜索与二维码相关的内容时,可以通过这个标签找到这个压缩包文件。 文件名称列表中只有一个"QR Code",这表明压缩包文件中可能包含与二维码生成和扫描相关的软件、库、文档或示例文件。如果这是一个开发包,那么它可能包括必要的源代码、二进制文件、API文档、使用说明等,用以支持开发者实现自定义的二维码扫描和生成功能。 在IT知识的语境下,二维码生成和扫描涉及到的技术和概念包括: 1. 数据编码:将要存储的数据转换为二维码支持的格式,如数字、字母、汉字等。 2. 二维码标准:遵循国际标准ISO/IEC 18004,定义了二维码的结构、纠错级别、编码模式等。 3. 纠错算法:二维码包含纠错信息,可以在部分像素损坏的情况下依然能被读取器识别。 4. 码制:二维码有不同的码制(如QR码、Data Matrix、Aztec Code等),每种码制有其特定的使用场景和优势。 5. 扫描技术:使用摄像头或专门的扫描设备读取二维码,并通过图像处理算法识别二维码图案中的数据。 6. 编程接口(API):为开发者提供接口,使他们能够将二维码的生成和识别功能集成到自己的应用程序中。 7. 应用场景:二维码广泛应用于支付、验证、广告、产品跟踪、身份验证等领域。 综上所述,QR码程序的扫描和生成功能涉及的技术广泛,能够为不同的行业和应用提供便捷的数据存储和读取解决方案。随着技术的发展,二维码的应用范围还在不断扩大,其重要性在日常生活中也越来越明显。

请帮我看看这个sql语句是否正确,并改正:select a.ebeln, a.ebelp, a.art, a.kdauf, a.zbw, a.size1, a.txz01, a.menge, b.quantity, (a.menge - b.quantity) as OWE_MATERIAL, ( select sum(THIS_PLAN_QTY) as HAVE_PLAN , a.ebeln , a.ebelp , a.kdauf from SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c , SCM_PROCESS_PURCHASE_ORDER_D a group by c.order_no , c.order_seq , c.sales_order , a.ebeln , a.ebelp , a.kdauf having c.order_no = a.ebeln And c.order_seq = a.ebelp And c.sales_order = a.kdauf ) , ( select a.menge - t.HAVE_PLAN as OWN_PLAY from (select sum(THIS_PLAN_QTY) as HAVE_PLAN , c.order_no , c.order_seq , c.sales_order from SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c , SCM_PROCESS_PURCHASE_ORDER_D a group by c.order_no , c.order_seq , c.sales_order , a.ebeln , a.ebelp , a.kdauf having c.order_no = a.ebeln And c.order_seq = a.ebelp And c.sales_order = a.kdauf ) t , SCM_PROCESS_PURCHASE_ORDER_D a where a.ebeln = t.order_no and a.ebelp = t.order_seq and a.menge = t.sales_order ) , d.scan_qty, (d.quantity - d.scan_qty) as OWN_PRODUCE, e.scan_qty, (e.quantity - e.scan_qty) as OWE_SHIP from SCM_PROCESS_PURCHASE_ORDER_D a left join MMS_INOUT_BILL_M b On a.ebeln = b.purchase_order_number And a.ebelp = b.purchase_order_seq And a.kdauf = b.sales_order left join SCM_OUTSOURCE_PRODUCTION_PLAN_LIST c on a.ebeln = c.order_no And a.ebelp = c.order_seq And a.kdauf = c.sales_order left join SCM_PROCESS_OUTPUT d on a.ebeln = d.order_no And a.ebelp = d.order_seq And a.kdauf = d.sales_order left join SCM_OUTSOURCE_SHIP e on a.ebeln = e.qr_code and a.ebelp = e.order_no and a.kdauf = e.order_seq where a.art = 'IE7181' Order by a.ebeln desc, a.ebelp;

2023-05-24 上传
2023-07-16 上传
2023-06-10 上传

# 获取指定目录下的所有图片路径12 image_paths = glob.glob(directory + "/*.png") + glob.glob(directory + "/*.jpg") for image_path in image_paths: # 读取图片 image = cv2.imread(image_path) # 将图片转换为灰度图像 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 解码二维码 barcodes = pyzbar.decode(gray) for barcode in barcodes: # 解码得到的二维码数据转换为UTF-8格式 barcode_data = barcode.data.decode("utf-8") # 获取二维码在图片中的位置 (x, y, w, h) = barcode.rect # 更新字典中二维码对应的图片名为最后一次出现的图片名 qr_code_dict[barcode_data] = (barcode_data, image_path, (x, y)) rospy.loginfo(barcode_data) # 打开或创建文件,并以写入模式打开 with open("/root/picture/openmv/qr_codes.txt", "w") as f: #qr_codes为文件名.txt /root/oo/ # 遍历字典中的每个二维码和对应的图片名 for qr_code, image_name in qr_code_dict.items(): #qr_code接收键 image_name接收对应键的值 # 将图片名、二维码信息和坐标写入文件 f.write('{}\t{}\t\n'.format(image_name, qr_code)) # 打开或创建CSV文件,并以写入模式打开 with open("/root/picture/openmv/qr_codes.csv", "w") as csv_file: writer = csv.writer(csv_file) # 写入CSV文件的表头 writer.writerow(["QR Code"]) # 遍历字典中的每个二维码和对应的图片名 for qr_code, image_name in qr_code_dict.items(): # 替换二维码内容中的双引号 qr_code = qr_code.replace('"', '') # 将二维码内容写入CSV文件 writer.writerow([qr_code])

2023-07-15 上传