由于毕设,需要opencv,又没能看到比较合适的教程,所以这里自己进行部分翻译。

我的操作系统:ubuntu16.04,没有使用集成IDE。

官方最新教程 3.2.0-dev

中文资料网站:

前面其实有编辑过一份翻译,但是又长又不好看,所以决定以要点方式进行总结性翻译,每篇翻译包含以下内容:

本篇总标题

官方原始链接

小节标题1

官方原始链接

小节内容

小节标题2

官方原始链接

小节内容

。。。

下面开始第一部分

-------------------------------------------------------------------------------------------------------------------------------------------------

基本安装使用

  • Introduction to OpenCV

    You will learn how to setup OpenCV on your computer!

linux下安装

  • Installation in Linux

    Compatibility: > OpenCV 2.0

    Author: Ana Huamán

    We will learn how to setup OpenCV in your computer!

所需包

  • GCC 4.4.x or later
  • CMake 2.8.7 or higher
  • Git
  • GTK+2.x or higher, including headers (libgtk2.0-dev)
  • pkg-config
  • Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
  • ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
  • [optional] libtbb2 libtbb-dev
  • [optional] libdc1394 2.x
  • [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
  • [optional] CUDA Toolkit 6.5 or higher

安装命令

[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

下载源码

cd ~/<my_working_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
mkdir

cd ~/opencv

mkdir build
cd build

configuration

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

build&install make -j7 # runs 7 jobs in parallel
sudo make install

通过gcc、CMake使用OpenCV

  • Using OpenCV with gcc and CMake

    Compatibility: > OpenCV 2.0

    Author: Ana Huamán

    We will learn how to compile your first project using gcc and CMake

创建程序

//DisplayImage.cpp
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{if ( argc != 2 ){printf("usage: DisplayImage.out <Image_Path>\n");return -1;}Mat image;image = imread( argv[1], 1 );if ( !image.data ){printf("No image data \n");return -1;}namedWindow("Display Image", WINDOW_AUTOSIZE );imshow("Display Image", image);waitKey(0);return 0;
}

创建CMake配置

// CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

编译

cd <DisplayImage_directory>
cmake .
make

效果

./DisplayImage lena.jpg

注,lena那张图片的位置:$OPENCV_HOME/samples/data/

读取展示图片

  • Load and Display an Image

    Compatibility: > OpenCV 2.0

    Author: Ana Huamán

    We will learn how to display an image using OpenCV

源码

Download the source code from here.

#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{String imageName( "../data/HappyFish.jpg" ); // by defaultif( argc > 1){imageName = argv[1];}Mat image;image = imread( imageName, IMREAD_COLOR ); // Read the fileif( image.empty() )                      // Check for invalid input{cout <<  "Could not open or find the image" << std::endl ;return -1;}namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.imshow( "Display window", image );                // Show our image inside it.waitKey(0); // Wait for a keystroke in the windowreturn 0;
}

要点

  • Load an image (using cv::imread ) 读取图片
  • Create a named OpenCV window (using cv::namedWindow ) 创建窗口
  • Display an image in an OpenCV window (using cv::imshow ) 通过窗口显示图片

修改和保存图片

  • Load, Modify, and Save an Image

    Compatibility: > OpenCV 2.0

    Author: Ana Huamán

    We will learn how to save an Image in OpenCV...plus a small conversion to grayscale

#include <opencv2/opencv.hpp>
using namespace cv;
int main( int argc, char** argv )
{char* imageName = argv[1];Mat image;image = imread( imageName, 1 );if( argc != 2 || !image.data ){printf( " No image data \n " );return -1;}Mat gray_image;cvtColor( image, gray_image, COLOR_BGR2GRAY );imwrite( "../../images/Gray_Image.jpg", gray_image );namedWindow( imageName, WINDOW_AUTOSIZE );namedWindow( "Gray image", WINDOW_AUTOSIZE );imshow( imageName, image );imshow( "Gray image", gray_image );waitKey(0);return 0;
}

要点:

  • Transform an image from BGR to Grayscale format by using cv::cvtColor 转换BGR格式为灰度格式
  • Save your transformed image in a file on disk (using cv::imwrite ) 保存图片

使用依赖管理器

  • Using OpenCV with biicode dependency manager

    Compatibility: > OpenCV 2.4

    Author: biicode

    We will learn how to setup and use OpenCV in Mac OS X, Linux and Windows

据说是能写一个代码,用这个工具直接安装OpenCV并配置工程。

本人已测,在能从github上clone的情况下仍然无法安装。(我没有用梯子)

【opencv 官方教程】翻译1 基本安装使用 编译工程 读取、显示、保存图片相关推荐

  1. OpenCV官方教程中文版

    OpenCV官方教程中文版(For Python) OpenCV2-Python-Tutorials 段力辉 译 说明:搬运自linux公社pdf文件,粗略搬运,仅作个人笔记参考,有时间再美化 部分文 ...

  2. Dapper官方教程翻译8:Dapper方法之QueryMultiple(转)

    Dapper官方教程翻译8:Dapper方法之QueryMultiple 2019年02月28日 10:42:22 Day_and_Night_2017 阅读数:120 QueryMultiple方法 ...

  3. Unity3D Shader官方教程翻译(三)

    Unity3D Shader官方教程翻译(三) 1.Shader语法:Pass 1个Pass块可以使一个几何物体被一次渲染. Pass { [Name and Tags] [RenderSetup] ...

  4. Caffe官方教程翻译(5):Classification: Instant Recognition with Caffe

    前言 最近打算重新跟着官方教程学习一下caffe,顺便也自己翻译了一下官方的文档.自己也做了一些标注,都用斜体标记出来了.中间可能额外还加了自己遇到的问题或是运行结果之类的.欢迎交流指正,拒绝喷子! ...

  5. Caffe官方教程翻译(4):CIFAR-10 turorial

    前言 最近打算重新跟着官方教程学习一下caffe,顺便也自己翻译了一下官方的文档.自己也做了一些标注,都用斜体标记出来了.中间可能额外还加了自己遇到的问题或是运行结果之类的.欢迎交流指正,拒绝喷子! ...

  6. Caffe官方教程翻译(1):LeNet MNIST Tutorial

    前言 最近打算重新跟着官方教程学习一下caffe,顺便也自己翻译了一下官方的文档.自己也做了一些标注,都用斜体标记出来了.中间可能额外还加了自己遇到的问题或是运行结果之类的.欢迎交流指正,拒绝喷子! ...

  7. Caffe官方教程翻译(10):Editing model parameters

    前言 最近打算重新跟着官方教程学习一下caffe,顺便也自己翻译了一下官方的文档.自己也做了一些标注,都用斜体标记出来了.中间可能额外还加了自己遇到的问题或是运行结果之类的.欢迎交流指正,拒绝喷子! ...

  8. Caffe官方教程翻译(9):Multilabel Classification with Python Data Layer

    前言 最近打算重新跟着官方教程学习一下caffe,顺便也自己翻译了一下官方的文档.自己也做了一些标注,都用斜体标记出来了.中间可能额外还加了自己遇到的问题或是运行结果之类的.欢迎交流指正,拒绝喷子! ...

  9. Caffe官方教程翻译(8):Brewing Logistic Regression then Going Deeper

    前言 最近打算重新跟着官方教程学习一下caffe,顺便也自己翻译了一下官方的文档.自己也做了一些标注,都用斜体标记出来了.中间可能额外还加了自己遇到的问题或是运行结果之类的.欢迎交流指正,拒绝喷子! ...

最新文章

  1. chorme 下载文件 保留 放弃_西部数码使用指南:保留数据重装以后sqlserver数据库不能启动(sql2008,sql2012)...
  2. 发送json给服务器
  3. shell中的大括号和小括号
  4. 一根柱状图表示两种数据_柱状图不好看,那就换个坐标轴
  5. JAVA实现图的邻接表以及DFS
  6. 根据需求进行批量新增
  7. ubuntu16 install sogou input
  8. 虎虎生威 | 年终盘点,好文合辑!
  9. throw e 和 return 的浅显理解
  10. Shell命令提示符
  11. 团队领导力(一)规划+落实
  12. 当年校招时,我就死在这个问题上...
  13. webstorm 2018 激活破解方法亲测可用
  14. 华为ensp防火墙nat64案例配置
  15. 道德沦丧的电商推广app开发①
  16. 金蝶K3 SQL报表系列-委外核销检查表
  17. 剪刀石头布java_java编写剪刀石头布游戏
  18. 从头到脚说单测——谈有效的单元测试(下篇)
  19. 喜剧电影《超能一家人》投资全方位分析
  20. Wi-Fi Mesh网络技术

热门文章

  1. AAA 服务器 — RADIUS(半径)协议
  2. 常见弱密钥以及修复建议
  3. BCGControlBar 英文说明文档
  4. numpy进阶教程2
  5. JavaScript教程-38-JavaScript面向对象编程
  6. 链表删除的逻辑思想--流程图
  7. python字典顺序不变_python字典有顺序吗
  8. android__源码版本
  9. 小米手环NFC读不了卡_售价169元的小米手环4实测 开启你智能生活的第一把钥匙...
  10. 怎么用C语言编写一个猪头的形状