歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Ubuntu12.04+OpenCv

Ubuntu12.04+OpenCv

日期:2017/3/3 12:37:05   编辑:Linux技術

提前從OpenCv官網下載好OpenCv-2.4.9.zip安裝包。

首先通過命令行在/home文件夾下建立own文件夾,並將OpenCv放在此文件夾。注:本ubuntu為無界面版本,傳送文件建議使用ssh,方便快捷,遠程登錄之利器。

# mkdir own

將OpenCv-2.4.9.zip傳至/home/own文件夾下,如下圖

接下來進行安裝步驟(不要緊張,不行重來就是了):

1、更新、升級軟件列表#sudo apt-get update

#sudo apt-get upgrade

2、安裝Cmake

#sudoapt-get install cmake

#sudoapt-get install cmake-curses-gui

3、安裝必要庫文件(可以現在安或者安裝OpenCv之後都可以。不過建議現在安,後續使用無憂)# #sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev

libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev

(由於文檔原因,可能空格有些地方沒空好,還望你自行分辨)安裝時間幾分鐘

4、解壓安裝OpenCv-2.4.9

如果沒有安裝unzip,先安裝解壓文件

#sudo apt-getinstall unzip

將路徑切到own文件夾下

# cd /home/own

#unzipopencv-2.4.9.zip

#cd opencv2.4.9

#mkdirrelease 在文件夾下創建release文件夾

#cdrelease

#ccmake ../ 出現如下界面:

按C進入下圖界面並配置如下圖:

鍵盤按c,然後按g,然後就回到命令行界面。

#make 這是個漫長的過程。(如果沒別的事情可以出去溜達一圈了)

# sudomake install

安裝完畢。

5、配置文件# sudo vim/etc/ld.so.conf.d/opencv.conf

按i插入/usr/local/lib。ESC鍵->:wq->回車退回命令行

# sudo ldconfig

# cd /etc

# vim bash.bashrc

添加下面兩行到文件的末尾並保存(:wq)。

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

exportPKG_CONFIG_PATH

# sudo ldconfig

6、測試重啟ubuntu

# reboot

# cd/home/own/opencv-2.4.9/samples/c

# ./build_all.sh

# ./find_obj

一開始以為紅色部分為錯誤,後來發現可能跟無界面的ubuntu系統有密切關系。如果不是,請您指點。

完畢。

7、玩一段程序試試程序代碼(網絡上盛傳的二值化代碼):

#include "cxcore.h"
 #include "highgui.h"
 #include <iostream>
  
  using namespace std;
  
  int main (int argc, char *argv[])
  {
      IplImage* img = cvLoadImage(argv[1], -1);
      IplImage* biimg = cvCreateImage(cvGetSize(img), img->depth, img->nChannels);
      CvScalar s;
      int sum = 0;
      for (int i = 0;i < img->height;i++)
      {
          for (int j = 0;j < img->width;j++)
          {
              s =  cvGet2D(img, i, j);
              cout << s.val[0] << " " << s.val[1] << " " << s.val[2] <<endl;
              sum = (s.val[0] + s.val[1] + s.val[2]) / 3;
              if (sum > 128)
                  s.val[0] = s.val[1] = s.val[2] = 255;
              else
                  s.val[0] = s.val[1] = s.val[2] = 0;
  
              cvSet2D(img, i, j, s);
          }
      }
      cvCopy(img, biimg);
      cvSaveImage("combibi.JPG", biimg);
      cvNamedWindow("imagebinary");
      cvShowImage("imagebinary", biimg);
      cvWaitKey(0);
      cvDestroyWindow("imagebinary");
      cvReleaseImage(&img);
      cvReleaseImage(&biimg);
      return 0;
  }
建立文件夾,並將erzhihua.cpp和lena.jpg上傳。本文創建的文件夾為:../opencv-2.4.9samples/c/test

# gccerzhihua.cpp -o erzhi `pkg-config --cflags --libs opencv`

# ./erzhilena.jpg

運行結果:

水平有限,如有問題,請直接郵件[email protected]聯系更正,樓主脆弱,切勿亂噴。

Copyright © Linux教程網 All Rights Reserved