Skip to content

Instantly share code, notes, and snippets.

@mmitou
Last active December 4, 2015 10:23
Show Gist options
  • Select an option

  • Save mmitou/4781b5cd1c67f3fd3378 to your computer and use it in GitHub Desktop.

Select an option

Save mmitou/4781b5cd1c67f3fd3378 to your computer and use it in GitHub Desktop.

fedora22にOpenCV3.0をインストールした際のメモ

基本的にここを読めばよい。 https://github.com/davidcarne/pcbre/wiki/install_fedora

このメモでは $HOME/local 以下にOpenCVをインストールする。

OpenCV3.0のソースをzipでまとめたものは、ホームディレクトリに保存してあると仮定する。

cd ~
mkdir ~/local
sudo dnf groupinstall 'Development Tools'
sudo dnf install gcc-c++
sudo dnf install python3 python3-pip python3-numpy python3-scipy spatialindex spatialindex-devel geos geos-devel potrace potrace-devel agg agg-devel freetype freetype-devel python3-Cython python3-mock python3-virtualenv python3-shapely python3-PyOpenGL qt qt-devel
sudo dnf install cmake libjpeg-turbo libjpeg-turbo-devel libpng libpng-devel libtiff libtiff-devel unzip wget
sudo dnf install gtk2-devel
unzip opencv-3.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON -D BUILD_opencv_python2=ON -D CMAKE_INSTALL_PREFIX:PATH=$HOME/local ~/opencv-3.0.0
make -j $(nproc)
make install
export PYTHONPATH=$PYTHONPATH:$HOME/local/lib/python2.7/site-packages/

/etc/ld.so.conf.d/opencv.conf を作成して以下を加える。

/home/<ユーザー名>/local/lib

ここで sudo ldconfig を実行すると、実行時に共有ライブラリを参照出来るようになる。

これでPython2からcv2をimport出来るようになる。

サンプルコード

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <string>

int main() {
  const std::string path( "HappyFish.jpg" );
  cv::Mat image = cv::imread( path, cv::IMREAD_COLOR );

  if( image.empty() ) {
    std::cerr << "Could not open or find " << path << std::endl;
    return -1;
  }

  cv::namedWindow( "Window", cv::WINDOW_AUTOSIZE );
  cv::imshow( "Window", image );
  cv::waitKey( 0 );
  return 0;
}
TARGET := displayImage
SRC := main.cpp
CC := g++
OPENCVPATH := ${HOME}/local/lib
OPENCVLIBS := -lopencv_calib3d -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_video -lopencv_videoio -lopencv_videostab
# OPENCVLIBS := -lopencv_core -lopencv_imgcodecs -lopencv_highgui
LIBS := -L$(OPENCVPATH) -Wl,--start-group $(OPENCVLIBS) -Wl,--end-group
# LIBS := -L$(OPENCVPATH) $(OPENCVLIBS) 

CPPFLAGS := -I${HOME}/local/include
SRCS := $(shell ls *.cpp)
OBJS := $(SRCS:.cpp=.o)

$(TARGET) : $(OBJS)
	$(CC) main.o $(LIBS) -o $@

%.o : %.cpp
	$(CC) $(CPPFLAGS) $(LIBS) -c $^

clean:
	rm -f $(OBJS)
	rm -f $(TARGET)
#!/usr/bin/env python
# -*- conding:utf-8 -*-

import cv2

image = cv2.imread( 'HappyFish.jpg' )
cv2.namedWindow( 'Window', cv2.WINDOW_AUTOSIZE )
cv2.imshow( 'Window', image )
cv2.waitKey( 0 )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment