Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

疑问! #1

Open
styin8 opened this issue Sep 30, 2022 · 5 comments
Open

疑问! #1

styin8 opened this issue Sep 30, 2022 · 5 comments

Comments

@styin8
Copy link

styin8 commented Sep 30, 2022

您好, 我想跑一下您的这个代码,但是在 ’To compute pose by RANSAC-based PnP algorithm, you will need to build the cython module:‘ 这一布的时候 我出现了问题,我想请问一下 这一步是要怎么装opencv比较好哦

@XT-1997
Copy link
Owner

XT-1997 commented Sep 30, 2022

hello,谢谢你的支持,你需要装c++版本的opencv,具体怎么装参考网上的知乎或博客!

@styin8
Copy link
Author

styin8 commented Sep 30, 2022

1.我是在windows环境下跑的 这个会有问题嘛!
2.opencv 的版本有关系嘛

因为我的opencv不是安装在项目的环境中,所以我更改了setup.py 中的相关内容:
ext_modules = [
Extension(
"pnpransac",
sources=["pnpransacpy.pyx"],
language="c++",
include_dirs=[cv_include_dir, 'C:/Users/1st/anaconda3/envs/DFAM/Lib/site-packages/numpy/core/include',
'D:/opencv/opencv/build/include',
'D:/opencv/opencv/build/include/opencv2'],
library_dirs=[cv_library_dir, 'D:/opencv/opencv/build/x64/vc15/lib'],
libraries=['opencv_core', 'opencv_calib3d'],
extra_compile_args=['-fopenmp', '-std=c++11'],
)
]
我试了两个版本的opencv,其中一个是4.4.0版本,在我运行完python setup.py之后 会出现
nT:\FDANET-main\pnpransac\pnpransac.cpp(264): error C2065: “CV_P3P”: 未声明的标识符
T:\FDANET-main\pnpransac\pnpransac.cpp(291): warning C4244: “初始化”: 从“double”转换到“float”,可能丢失数据
T:\FDANET-main\pnpransac\pnpransac.cpp(293): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
T:\FDANET-main\pnpransac\pnpransac.cpp(301): warning C4244: “初始化”: 从“__int64”转换到“int”,可能丢失数据
T:\FDANET-main\pnpransac\pnpransac.cpp(329): error C2065: “CV_ITERATIVE”: 未声明的标识符
T:\FDANET-main\pnpransac\pnpransac.cpp(329): error C2065: “CV_P3P”: 未声明的标识符
T:\FDANET-main\pnpransac\pnpransac.cpp(329): error C2660: “poseSolver::safeSolvePnP”: 函数不接受 7 个参数
T:\FDANET-main\pnpransac\pnpransac.cpp(168): note: 参见“poseSolver::safeSolvePnP”的声明
T:\FDANET-main\pnpransac\pnpransac.cpp(352): warning C4244: “初始化”: 从“double”转换到“float”,可能丢失数据
pnpransacpy.cpp(3225): warning C4244: “=”: 从“Py_ssize_t”转换到“int”,可能丢失数据

其中提到的 CV_P3P 和CV_ITERATIVE 没有定义
emm,可能是我C++ 不太行 您这边方便指点一下嘛

@XT-1997
Copy link
Owner

XT-1997 commented Oct 1, 2022

更换到ubunutu吧,我没在windows用过

@styin8
Copy link
Author

styin8 commented Oct 13, 2022

您好 我还想问一下您当时opencv的版本是多少的呀 我这边好像还是有点问题😢

@XT-1997
Copy link
Owner

XT-1997 commented Dec 14, 2022

要不尝试用python的opencv?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants