AttributeError:模块“cv2.aruco”没有属性“Dictionary_get”
即使安装后
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) 我正在使用成帧器运动制作应用程序,我需要将 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% 的屏幕宽度和高度,可能我们需要使用成帧器运动useTransform或useMotionValue挂钩来转换当前矩阵,但我不知道该怎么做。
这是应用程序的当前状态,当您尝试拖动播放器对象时,您可以看到问题。https://waterpolo.klaktech.com
删除 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 …
我正在研究一种被提议用于视频分类的变压器模型。我的输入张量的形状为 [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)
我想了很多错误的原因,但我无法找出原因是什么。我该如何解决这个问题?