程序及分析

/*
* FileName : read.cpp
* Author : xiahouzuoxin @163.com
* Version : v1.0
* Date : Tue 13 May 2014 07:34:25 PM CST
* Brief :
*
* Copyright (C) MICL,USTB
*/
#include <cv.h>
#include <highgui.h> using namespace cv;
using namespace std; int main(int argc, char **argv)
{
Mat img; img = imread(argv[1], 1); if (argc != 2 || !img.data) {
cout<<"No image data.\n"<<endl;
return -1;
} namedWindow("Display Image", CV_WINDOW_AUTOSIZE);
imshow("Display Image", img); waitKey(0); return 0;
}
  1. 包括和,cv.h中包括了OpenCV的核心功能,包括Mat等数据结构,highgui.h主要包括用于图片显示的接口。

  2. Mat是OpenCV中特有的矩阵类,Mat.data是数据指针,通过推断数据指针是否为NULL能够确定是否读入图片数据。

  3. namedWindow有两个參数,其函数原型例如以下:

    CV_EXPORTS_W void namedWindow(const String& winname, int flags=WINDOW_AUTOSIZE);

    第一个參数winname是窗体名,是窗体对象的唯一标识。就和人的名字一样,因此,不能同一时候有两个同样名字的窗体!flags设置窗体属性,缺省參数值为WINDOW_AUTOSIZE=CV_WINDOW_AUTOSIZE=1。

  4. 和matlab中的一样。有木有。第一个參数表示我要在哪个窗体显示,第二參数表示我要显示那幅图像,用脚趾头想一想。是不是有这两个參数就能知道在哪显示什么了?

  5. 另一个waitKey(int delay=0)表示图片显示窗体保留时间,单位为ms。当delay=0时,按下键盘上随意按键才会关闭图像显示的窗体

  6. 用于编译上述程序的Makefile例如以下:

    TARG=read
    SRC=read.cpp
    LIB=-L/usr/local/lib/
    INC=-I/usr/local/include/opencv/
    CFLAGS=-g $(TARG):$(SRC)
    g++ -o $@ ${CFLAGS} $(LIB) $(INC) -lopencv_core -lopencv_highgui $^ .PHONY:clean clean:
    -rm $(TARG) -f

    我将OpenCV安装到默认文件夹/usr/local下,因此在使用g++编译时要包括链接库(-L/usr/local/lib/)和头文件(-I/usr/local/include/opencv/

    注:在OpenCV基础篇中都使用该格式的Makefile文件,因此后面的例程都能够拷贝后直接使用,仅仅须要改动TARG和SRC參数就可以!

效果

OpenCV基础篇之读取显示图片的更多相关文章

  1. OpenCV【2】---读取png图片显示到QT label上的问题

    问题一:   操作图片test.png是一个365x365的PNG图片   通过OpenCV自带的GUI显示出来图像是没问题的,例如以下操作代码所看到的: QStringfileName=QFileD ...

  2. OpenCV 2.2版本号以上显示图片到 MFC 的 Picture Control 控件中

    OpenCV 2.2 以及后面的版本号取消掉了 CvvImage.h 和CvvImage.cpp 两个文件,直接导致了苦逼的程序猿无法调用里面的显示函数来将图片显示到 MFC 的 Picture Co ...

  3. android滑动基础篇 - 触屏显示信息

    效果图: 代码部分: activity类代码: package com.TouchView; /* * android滑动基础篇 * */ import android.app.Activity; i ...

  4. QT+OpenGL读取显示图片,OpenGL在QT里的刷新问题(好几篇)

    GLuint readImage(char *filename){    GLuint tex_id;    GLint alignment; QImage tex, buf;    buf.load ...

  5. opencv——基础篇

    一 . opencv是什么及其作用? OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效— ...

  6. OpenCV基础篇之查找表

    程序及分析 /* * FileName : lookup_table.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Su ...

  7. C# 操作Excel基础篇(读取Excel、写入Excel)

    注意事项:Excel的数据表中最多只能储存65535行数据,超出后,需要将数据分割开来进行储存.同时对于Excel中的乱码象限,是由于编码的错误方式导致引起的! 一.读取Excel数据表,获得Data ...

  8. C#保存图片到数据库并读取显示图片的方法

    private void button2_Click_1(object sender, System.EventArgs e) { string pathName; if (this.openFile ...

  9. OpenCV基础篇之画图及RNG随机数对象

    程序及分析 /* * FileName : random_gen.c * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 29 ...

随机推荐

  1. 韩国IT业是怎么走向国际我们须要学习什么

    无论从国土面积仍是从人口数量上来衡量.韩国都不能算是一个大国,而且自然资本十分缺乏,即是在这种情况下,韩国经过几十年的尽力开展变成技能大国,格外是在IT这种新经济范畴更是引人注目.并诞生了三星等国际级 ...

  2. cocos2d-x 3.0 经常使用对象的创建方式

    cocos2d-x 3.0 中全部对象差点儿都能够用create函数来创建,其它的创建方式也是有create函数衍生. 以下来介绍下create函数创建一般对象的方法,省得开发中常常忘记啥的. 1.精 ...

  3. Hive权限之改进

    不足 即使开启hive权限认证的情况下,不论什么用户仍然是超级用户.能够通过grant给不论什么人赋予不论什么权限,这样权限认证基本没有意义.因此必须在开启权限认证的同一时候.对运行grant/rev ...

  4. UVA 11609 - Anne's game cayley定理

    Lily: “Chantarelle was part of my exotic phase.”Buffy: “It’s nice. It’s a mushroom.”Lily: “It is? Tha ...

  5. vi 调到第一行,或最后一行

    用vi命令打开文件直接跳到最后一行的方法如下: :$ 跳到文件最后一行 :0或:1 跳到文件第一行 或 另外一组命令: gg 跳到文件第一行 Shift + g 跳到文件最后一行

  6. Redis学习笔记(十) 命令进阶:事务操作

    原文链接:http://doc.redisfans.com/transaction/index.html Redis中也提供了对于事务的支持,由于Redis是单线程处理Client的请求,所以实现起来 ...

  7. Qt-信号和槽-多对多

    前言:介绍1对多,多对1以及多对多的案例. 一.1对多 演示内容:在QLineEdit输入时,同步label,text browser以及调试输出板同步显示. 1.1 新建工程 1.2 添加部件 拖入 ...

  8. KCP kcptun

    简介 KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果.纯算法实现,并不负责底层协议(如UDP)的收发,需要使用者 ...

  9. sql获得某个时间段的数据

    CONVERT(Date, 时间字符串变量 ) between CONVERT(Date,'2015/2/10') and CONVERT(Date,'2015-3-10')

  10. Java基础——类和对象的初始化过程

    本节把类和对象的初始化所涉及到的所有代码块阐述一边. 示例代码: public class Demo { private static String name; private String age; ...