小编tem*_*tem的帖子

为什么 EXECUTABLE_OUTPUT_PATH 不起作用?

我有这样的文件

.
??? CMakeLists.txt
??? src
    ??? CMakeLists.txt
    ??? main.c
Run Code Online (Sandbox Code Playgroud)

这是关于这个文件的内容

$ cat CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
PROJECT (HELLO)
ADD_SUBDIRECTORY(src bin)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/binarydir)

$ cat src/CMakeLists.txt
ADD_EXECUTABLE(hello main.c)

$ cat src/main.c
#include <stdio.h>
int main()
{
    printf("Hello World from t1 main().\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

然后我使用以下命令构建它

$ mkdir build
$ cd build
$ cmake ..
$ make
Run Code Online (Sandbox Code Playgroud)

这是结果目录结构

然后二进制文件hello将在目录中build/bin作为图片生成,但它应该在,build/binarydir因为我有set的值EXECUTABLE_OUTPUT_PATH,不是吗?我错过了什么?

c++ build cmake

5
推荐指数
1
解决办法
1957
查看次数

如何使用Map类实现图像注册?

其实,我已经阅读官方文档这里有关类MapOpenCV中尝试使用该模块reg.这是我的测试图像:

在此输入图像描述

这是我的代码:

#include<opencv.hpp>
#include "opencv2/reg/mapshift.hpp"
#include "opencv2/reg/mappergradshift.hpp"
#include "opencv2/reg/mapperpyramid.hpp"

using namespace cv;
using namespace std;
using namespace cv::reg;

Mat highlight1(const Mat src, const Mat t_mask) {
    Mat srcImg = src.clone(), mask = t_mask.clone();
    threshold(mask, mask, 0, 255, THRESH_BINARY_INV + THRESH_OTSU);
    cvtColor(mask, mask, COLOR_GRAY2BGR);
    cvtColor(srcImg, srcImg, COLOR_GRAY2BGR);
    dilate(mask - Scalar(0, 0, 255), mask, Mat(), Point(-1, -1), 1);
    return srcImg - mask;
}

int main() {
    Mat img1 = imread("img.jpg", 0);
    Mat img2;

    // Warp original …
Run Code Online (Sandbox Code Playgroud)

c++ opencv

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

标签 统计

c++ ×2

build ×1

cmake ×1

opencv ×1