LoginSignup
3
2

More than 5 years have passed since last update.

OpenCVとyaml-cppをCLionで動かしたかった

Posted at

環境

  • Windows7
  • Cygwin(64bit)
  • CLion CL-140.569.17
  • OpenCV 2.4.10
  • yaml-cpp 0.5.1

OpenCVのビルド

↓を参考にした
http://hvrl.ics.keio.ac.jp/kimura/opencv/opencv-2.4.10.html.ja
ffmpeg, VTKは使わないのでスキップ

apt-cyg install \
 unzip \
 cmake \
 gcc-g++ \
 make \
 patch \
 libIlmImf-devel \
 libjasper-devel \
 libjpeg-devel \
 libpng-devel \
 libtiff-devel \
 libhdf5-devel \
 libbz2-devel \
 zlib-devel
git clone https://github.com/Itseez/opencv.git
git checkout 2.4.10
wget http://hvrl.ics.keio.ac.jp/kimura/opencv/files/opencv-2.4.10-cygwin-patch-20141008.txt.gz
gunzip opencv-2.4.10-cygwin-patch-20141008.txt.gz
patch -p1 < opencv-2.4.10-cygwin-patch-20141008.txt
mkdir build
cd build
cmake \
 -D CMAKE_LEGACY_CYGWIN_WIN32=0 \
 -D CMAKE_BUILD_TYPE=RELEASE \
 -D BUILD_SHARED_LIBS=ON \
 ..
make
make install

yaml-cppのビルド

apt-cyg install libboost-devel
wget https://yaml-cpp.googlecode.com/files/yaml-cpp-0.5.1.tar.gz
tar zxvf yaml-cpp-0.5.1.tar.gz
cd yaml-cpp-0.5.1
mkdir build
cd build
cmake ..
make

PATHの設定

Cygwin

export PATH=$PATH:/usr/local/opencv2.4.10/bin/:/cygdrive/c/cygwin64/bin/

Windows

C:\cygwin64\bin
C:\cygwin64\usr\local\opencv2.4.10\bin

Pathに↑を追加

サンプルコード

CMakeLists.txt
cmake_minimum_required(VERSION 2.8.4)
project(sample)

set(YAML_CPP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/lib/yaml-cpp-0.5.1)

find_package(OpenCV REQUIRED)
include_directories(${YAML_CPP_ROOT}/include)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES source/main.cpp)

add_executable(sample ${SOURCE_FILES})
target_link_libraries(sample
 ${OpenCV_LIBS}
 ${YAML_CPP_ROOT}/build/libyaml-cpp.a
)
main.cpp
#include <iostream>
#include <opencv2/opencv.hpp>
#include <yaml-cpp/yaml.h>

int main() {
    YAML::Node config = YAML::LoadFile("config.yml");
    std::string filename = config["filename"].as<std::string>();
    cv::Mat image = cv::imread(filename);
    cv::imwrite("./output.bmp", image);
    return 0;
}
config.yml
filename: lenna.bmp

メモ

ビルドはCLion上から可能
コマンドプロンプトとCygwin上からは実行できたが、CLion上から実行すると

ExecutionException: During startup program exited with code 0xc0000135.

上記エラーが出て実行できなかった

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2