Linux 编译单个。。opencv python的修改文件 我现在尝试将不同的内部C++函数暴露给Python, 例如,为了公开elbp函数,我打开 CV_EXPORTS_W Mat elbp(InputArray src, int radius, int neighbors);

Linux 编译单个。。opencv python的修改文件 我现在尝试将不同的内部C++函数暴露给Python, 例如,为了公开elbp函数,我打开 CV_EXPORTS_W Mat elbp(InputArray src, int radius, int neighbors);,linux,opencv,makefile,Linux,Opencv,Makefile,在命名空间之后删除包装函数之前的静态名称时: static Mat elbp(InputArray src, int radius, int neighbors) { Mat dst; elbp(src, dst, radius, neighbors); return dst;} 在此之后,我所做的是在opencv构建目录中运行cmake 然后再做一次整个opencv,整个过程花了大约2个小时(因为我是用树莓皮做的),这真的很痛苦。 我不想切换到C++ ATM,有没有其他方法来简单地展示内部C

在命名空间之后删除包装函数之前的静态名称时:

static Mat elbp(InputArray src, int radius, int neighbors) {
Mat dst;
elbp(src, dst, radius, neighbors);
return dst;}
在此之后,我所做的是在opencv构建目录中运行cmake 然后再做一次整个opencv,整个过程花了大约2个小时(因为我是用树莓皮做的),这真的很痛苦。 我不想切换到C++ ATM,有没有其他方法来简单地展示内部C++函数(或者对现有函数做一些修改)而不需要重新编译整个OpenCV?< /P>
我对Linux和opencv都是新手,如果有人能帮助我,我将不胜感激

这是您第一次在该目录中构建opencv吗?您不需要为任何给定的更改重建所有内容。只有那些直接受这种变化影响的事情。(对于可能有很多内容的头文件。)这意味着您可以研究交叉编译。@Etan Reisner Thx回应,不,我以前在该目录中构建了opencv,我所做的是在运行make安装后删除它(主要是为了减小文件的大小),我想我应该做的是将文件保存在构建目录下?假设我更改了内部函数定义中的一行,没有做任何其他操作,那么我应该如何将更改应用于整个opencv?很抱歉问了这么多基本的问题,但是我完全不知道在Linux下编译是如何工作的。我也查阅了交叉编译,我注意到这是一种为不同平台创建可执行代码的方法。对不起,我看不出这与问题有什么关系。是的,删除东西意味着它们需要重建。但是,我不认为仅仅重建二进制/库不应该如此密集(但谁知道呢)。如果您需要再次构建,则保留所有可以保留的内容将使后续构建更快。交叉编译是相关的,因为如果你使用的系统编译不需要两个小时,那么这个问题就不那么相关了,因为主要的推动力(编译太长时间)消失了。谢谢,我现在真正需要的是一个循序渐进的教程,教我如何在经过一些小的修改后以一种轻松的方式重建库,但我想这会让我变得懒惰。。。。;(,我将调查这是您第一次在该目录中构建opencv吗?您不需要为任何给定的更改重建所有内容。只需要直接受该更改影响的内容。(但对于可能有很多内容的头文件。)也就是说,您可以研究交叉编译。@Etan Reisner Thx为了响应,不,我以前在该目录中构建了opencv,我所做的是在运行make安装后删除它(主要是为了减小文件大小),我想我应该做的是将文件保存在构建目录下?假设我更改了内部函数定义中的一行,没有做任何其他事情,那么我应该做什么来将更改应用到整个opencv?很抱歉问了这么多基本的问题,但我完全不知道在Linux下编译是如何工作的,我看起来也是这样在交叉编译时,我注意到这是一种为不同平台创建可执行代码的方法?抱歉,我看不出这与问题有什么关系是的,删除东西意味着它们需要重建。但是重建二进制/库不应该那么密集,我想不会(但谁知道呢)。如果需要重新构建,则保留所有可以保留的内容将加快后续构建。交叉编译是相关的,因为如果使用编译不需要两个小时的系统,那么这个问题就不那么相关了,因为主要原因是(编译时间太长)谢谢,我现在真正需要的是有一个循序渐进的教程,教我如何在做了一些小改动后以一种轻松的方式重建库,但我想这会让我变得懒惰……(,我会研究这个。)