图像引导手术功能,在C++中,使用OpenCV并用Python包装。
scikit-surgeryopencvcpp的Python项目详细描述
SCIKIT手术开启CVCPP
SICKIT SurropopCVCPP实现图像引导手术算法,使用^ {A3},在C++中并用Python包装。
scikit手术opencvcpp是 SNAPPY软件项目, 在{a5}开发, 是University College London (UCL)的一部分。
功能
- 由于Matthew Brett's multibuild,支持python轮子。
- 使用Hartley and Zisserman's method和midpoint of two lines进行三角剖分。
- 曲面重建,使用Dan Stoyanov'sMICCAI 2010 method,由Dimitris Psychogyios在OpenCV中实现。
安装
您可以通过pip安装最新的python包,如下所示:
pip install scikit-surgeryopencvcpp
示例
曲面重建
pipinstallpptkopencv-pythonscikit-surgeryopencvcpppythonimportsksurgeryopencvpythonasskscvimportpptkimportnumpyasnpimportcv2left_image=cv2.imread('Testing/Data/reconstruction/f7_dynamic_deint_L_0100.png')right_image=cv2.imread('Testing/Data/reconstruction/f7_dynamic_deint_R_0100.png')left_intrinsics=np.loadtxt('Testing/Data/reconstruction/calib.left.intrinsic.txt')right_intrinsics=np.loadtxt('Testing/Data/reconstruction/calib.right.intrinsic.txt')l2r=np.loadtxt('Testing/Data/reconstruction/calib.l2r.4x4')rotation_matrix=l2r[0:3,0:3]translation_vector=l2r[0:3,3:4]points=skscv.reconstruct_points_using_stoyanov(left_image,left_intrinsics,right_image,right_intrinsics,rotation_matrix,translation_vector,False)points_3d=points[:,0:3]v=pptk.viewer(points_3d)
开发
克隆
您可以使用以下命令克隆存储库:
git clone https://github.com/UCL/scikit-surgeryopencvcpp.git
构建说明
还是不适合胆小的人。这取决于您是否熟悉C++开发人员。 用CMake或混合C++ + Python开发人员主要感兴趣的写作 python扩展。
最简单的建议就是阅读appveyor.yml
,因为这将始终
保持最新。
投稿的首选分支工作流。
我们欢迎对这个项目的贡献。请使用以下工作流。
- 在该项目的github问题跟踪程序中引发问题。
- 分叉存储库。
- 创建名为
<issue-number>-<some-short-description>
的功能分支 用github问题号替换<issue-number>
还有<some-short-description>
你对你正在实现的东西的描述。 - 那个分支上的代码。
- 准备好后按遥控器。
- 创建拉取请求。
- 我们将审查代码,建议和所需的更改,并合并到掌握时,它是准备好的。
仪表板
除了特拉维斯和AppWeyor构建外,C++结果也是 提交给公共CDash仪表板。
许可和版权
版权所有2018伦敦大学学院。 SCIKIT SurgeryOpenCVCPP是根据BSD-3许可证发布的。 有关详细信息,请参见license file。
致谢
该项目是使用 CMakeCatchTemplate 以及CMakeTemplateRenamer。