小编Mar*_*kus的帖子

AttributeError:模块“cv2.aruco”没有属性“Dictionary_get”

AttributeError:模块“cv2.aruco”没有属性“Dictionary_get”

即使安装后

  • OpenCV-Python
  • opencv-contrib-python
import numpy as np
import cv2, PIL
from cv2 import aruco
import matplotlib.pyplot as plt
import matplotlib as mpl
import pandas as pd

vid = cv2.VideoCapture(0)

while (True):

    ret, frame = vid.read()
    #cv2.imshow('frame', frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    aruco_dict = aruco.Dictionary_get(aruco.DICT_6X6_250)
    parameters =  aruco.DetectorParameters()
    corners, ids, rejectedImgPoints = aruco.detectMarkers(gray, aruco_dict, parameters=parameters)
    frame_markers = aruco.drawDetectedMarkers(frame.copy(), corners, ids)

    plt.figure()
    plt.imshow(frame_markers)
    for i in range(len(ids)):
        c = corners[i][0]
        plt.plot([c[:, 0].mean()], [c[:, 1].mean()], …
Run Code Online (Sandbox Code Playgroud)

python opencv aruco

9
推荐指数
2
解决办法
4万
查看次数

成帧器运动和变换矩阵

我正在使用成帧器运动制作应用程序,我需要将 svg 拖动到另一个 svg 内,但我的问题是视图框大小不等于窗口大小,因此当我拖动元素时,鼠标在屏幕上的 1px 移动就像 100+ px。我知道在 JavaScript 中我们可以使用 screenX、sceenY 和 CTM(当前变换矩阵)计算 x 和 y。是否可以以某种方式使成帧器运动拖动功能来计算它?

<svg viewBox="0 0 40 20">
  <motion.circle drag cx="5" cy="5" r="0.5"strokeWidth="0.1"/>
</svg>
Run Code Online (Sandbox Code Playgroud)

PS 我无法更改视图框大小及其 100% 的屏幕宽度和高度,可能我们需要使用成帧器运动useTransformuseMotionValue挂钩来转换当前矩阵,但我不知道该怎么做。

这是应用程序的当前状态,当您尝试拖动播放器对象时,您可以看到问题。https://waterpolo.klaktech.com

javascript svg reactjs framer-motion

6
推荐指数
1
解决办法
486
查看次数

避免 Nextjs 13 中的generateMetadata 函数重复处理的最佳方法是什么?

删除 Nextjs 13 中对generateMetadata的重复处理(使用应用程序路由)

你好,

我在使用 Nextjs 13 的generateMetadata(使用 App Router)时遇到问题。

在 page.js 中,我从 URL 获取 slug 并调用 API 来获取文章内容:

export default async function ArticleDetail({ params }) {
     const url = config.API.HOST + 'article/' + params.slug;

     let res = await fetch(url,
         {
             method: "GET",
             next: {
                 revalidate: 100
             }
         }
     );
     var article = await res.json();
     article = article.data;

     ...

     return (
          ...
     )
}
Run Code Online (Sandbox Code Playgroud)

在这个 ArticleDetail 函数中,我进行了一些处理来获取 html_title、html_description 信息(此信息还用于许多其他函数,而不仅仅是元标记)。

但是,generateMetadata 函数独立于 ArticleDetail 运行,我不知道如何在它们之间共享数据。即使使用全局变量也是不可能的,因为generateMetadata先完成运行,所以它无法获取ArticleDetail的数据。

Nextjs 的generateMetadata 文档中,它说 fetch …

javascript meta-tags next.js next.js13

5
推荐指数
0
解决办法
226
查看次数

使用 Patch Embedding 进行视频处理的尺寸误差

我正在研究一种被提议用于视频分类的变压器模型。我的输入张量的形状为 [batch=16 ,channels=3 ,frames=16, H=224, W=224] ,为了在输入张量上应用补丁嵌入,它使用以下场景:

patch_dim = in_channels * patch_size ** 2
self.to_patch_embedding = nn.Sequential(
        Rearrange('b t c (h p1) (w p2) -> b t (h w) (p1 p2 c)', p1 = patch_size, p2 = patch_size),
        nn.Linear(patch_dim, dim),     ***** (Root of the error)******
    )
Run Code Online (Sandbox Code Playgroud)

我使用的参数如下:

 patch_size =16 
 dim = 192
 in_channels = 3
Run Code Online (Sandbox Code Playgroud)

不幸的是,我收到与代码中显示的行相对应的以下错误:

Exception has occured: RuntimeError
mat1 and mat2 shapes cannot be multiplied (9408x4096 and 768x192)
Run Code Online (Sandbox Code Playgroud)

我想了很多错误的原因,但我无法找出原因是什么。我该如何解决这个问题?

python pytorch einops

4
推荐指数
1
解决办法
119
查看次数