首页 > 其他分享 >3. 基于AR的虚拟商店

3. 基于AR的虚拟商店

时间:2024-09-06 09:53:57浏览次数:10  
标签:overlay frame 商店 cv2 虚拟 products background alpha AR

3. 基于AR的虚拟商店

import cv2
import numpy as np
import os

# 初始化摄像头
cap = cv2.VideoCapture(0)
cv2.namedWindow("AR Virtual Store")

# 加载商品图像
products = []
product_names = ["product1.png", "product2.png", "product3.png"]
for name in product_names:
    img = cv2.imread(os.path.join("images", name), cv2.IMREAD_UNCHANGED)
    products.append(img)

# 定义绘制函数
def overlay_image(background, overlay, x, y):
    h, w = overlay.shape[0], overlay.shape[1]
    alpha_overlay = overlay[:, :, 3] / 255.0
    alpha_background = 1.0 - alpha_overlay

    for c in range(0, 3):
        background[y:y+h, x:x+w, c] = (alpha_overlay * overlay[:, :, c] +
                                       alpha_background * background[y:y+h, x:x+w, c])

while True:
    ret, frame = cap.read()
    if not ret:
        break

    # 进行商品绘制
    overlay_image(frame, products[0], 100, 100)
    overlay_image(frame, products[1], 300, 100)
    overlay_image(frame, products[2], 500, 100)

    cv2.imshow("AR Virtual Store", frame)

    key = cv2.waitKey(1)
    if key == 27:  # 按ESC退出
        break

cap.release()
cv2.destroyAllWindows()

标签:overlay,frame,商店,cv2,虚拟,products,background,alpha,AR
From: https://blog.51cto.com/u_16213142/11935786

相关文章

  • spark为什么比mapreduce快?
    spark为什么比mapreduce快?首先澄清几个误区:1:两者都是基于内存计算的,任何计算框架都肯定是基于内存的,所以网上说的spark是基于内存计算所以快,显然是错误的2;DAG计算模型减少的是磁盘I/O次数(相比于mapreduce计算模型而言),而不是shuffle次数,因为shuffle是根据数据重组的次数而定,所以shu......
  • SD 敢达单机 +AI 对战整合版 V2.0+ 无需虚拟机
    前言今天给大家带来一款单机游戏的架设:SD敢达AI对战整合版V2.0单机安装教程。另外:本人承接各种游戏架设(单机+联网)本人为了学习和研究软件内含的设计思想和原理,带了架设教程仅供娱乐。教程是本人亲自搭建成功的,绝对是完整可运行的,踩过的坑都给你们填上了。如果你是小白也......
  • fastapi middleware中间件
    一、介绍FastAPI中的中间件(Middleware)是一个非常重要的概念,它允许开发者在请求被处理之前和响应被发送之前执行自定义逻辑。中间件在Web应用程序中扮演着桥梁的角色,连接着客户端的请求和服务器端的响应处理过程。以下是FastAPI中间件概念的详细解释:1.中间件的定义在FastAPI中,......
  • 记录 VMware Workstation 官方下载方式
    VMwareWorkstation对个人使用已免费,但想找到官方下载地址很困难,在此记录一下下载地址:https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware+Workstation+Pro有账号的话直接登录,没有的话右上角注册即可(注册后需要主动登录)经过不太友好的登录后,再次访问......
  • python 实现perfect square完全平方数算法
    python实现perfectsquare完全平方数算法介绍完全平方数(PerfectSquare)是一个整数,它可以表示为某个整数的平方。例如,1,4,9,16,25,…都是完全平方数,因为1=......
  • MySQL中 VARCHAR 可设置的最大长度是多少?
    在使用MySQL的过程中,在存储字符串时,大家或许都有过这样或那样的困惑,譬如:1. 对于固定长度的字符串,为什么推荐使用CHAR来存储?2. VARCHAR可设置的最大长度是多少?3. 给定一个字符串,怎么知道它的空间使用情况?4. 创建索引时,提示“Indexcolumnsizetoolarge.Themaxim......
  • 【OpenHarmony】鸿蒙南向开发保姆级知识点汇总~
    OpenHarmony的技术架构和设计使得它能够适应不同的设备和场景,无论是智能手机、平板电脑、智能穿戴设备还是其他智能硬件,OpenHarmony都能提供一致的用户体验和开发体验。这使得开发者能够更加高效地开发适用于多种设备的软件,同时也为用户提供了更加统一和流畅的使用体验。由......
  • SciTech-Mathmatics-Physics-Particle Physics-Election-The Maxwell Equations-Wave-
    TheMaxwellEquations:Election,Substances,Particle'sBrownMovementsAZD(AbsoluteZeroDegree):EachkindofparticlehasitswavewhenaboveAZD.TheMaxwellEquations:\(\large\begin{array}{llll}\\(\i\)&\bm{\nabla}\cd......
  • Study Plan For Algorithms - Part22
    1.字符串相乘题目链接:https://leetcode.cn/problems/multiply-strings/给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。classSolution:defmultiply(self,num1:str,num2:str)->str:ifnum1==......
  • Beyond Compare 破解版永久激活
    BeyondCompare是一款非常专业且好用的文件对比软件,有了它的协助,即便你的文件包含在zip档案文件或远程服务(例如FTP站点)中,都可以帮助你查找和协调源代码、文件夹、图像和数据中的差异,甚至于它可以同步文件夹,并验证副本。除此之外,BeyondCompare可操作功能还有很多,不光是方便您......