《Opencv从入门到放弃》-- 1th 显示图像

来源:互联网 发布:java实训班 编辑:程序博客网 时间:2024/04/30 00:07

今天开始更新博客系列文章《Opencv从入门到放弃》。

你看到的是本系列的第一节  显示图像

本人用的开发环境是UBUNTU16.04,版本是OPENCV2.3.1,具体怎么装我的博客里面有。

废话不多说,直接复制一个官方sample,然后改代码,省去MAKEFILE的麻烦。具体操作如下:

cd opencvdir/samples/c
cp  -rf example_cmake my_exp


OK,这样我们就能进 my_exp 随便写代码了。

我们的任务是打开一幅图,然后显示出来。

(1)加载图片

   怎么打开一幅图呢?我们用一个API:cvLoadImage

这个函数的原形是这样的:

IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR );

filename :要被读入的文件的文件名(包括后缀);

  flags :指定读入图像的颜色和深度:

  指定的颜色可以将输入的图片转为3信道(CV_LOAD_IMAGE_COLOR), 单信道(CV_LOAD_IMAGE_GRAYSCALE), 或者保持不变(CV_LOAD_IMAGE_ANYCOLOR)。
(2)显示图片
   显示图片我们需要先创建一个窗口,然后在这个窗口中去显示已经加载好的图图就好了。
   OPENCV全程API走起:
cvNamedWindow   -- 创建窗口
cvShowImage          --   显示图片


int cvNamedWindow( const char* name, int flags );
name
窗口的名字,它被用来区分不同的窗口,并被显示为窗口标题。
flags
窗口属性标志。目前唯一支持的标志是CV_WINDOW_AUTOSIZE。 当这个标志被设置后,如果用户不能手动改变窗口大小,窗口大小会自动调整以适合被显示图像 (参考cvShowImage)。


void cvShowImage( const char* name, const CvArr* image );

name 窗口的名字。
image 被显示的图像。


OK,接下来我把源代码放上来:

/** * Function:    显示一幅图像 * Author  :    靳皓屹 * Date    :    2017/02/28 **/#include "cv.h"#include "highgui.h"#include <stdio.h>#include <stdlib.h>int main( int argc, char** argv ){        IplImage* src = cvLoadImage("cat.jpg",CV_LOAD_IMAGE_ANYCOLOR); // 打开图像              cvNamedWindow("src_img",CV_WINDOW_AUTOSIZE);                   //创建一个窗口        cvShowImage("src_img",src);                                    //在窗口中显示图像        cvWaitKey(0);        cvReleaseImage(&dst);}
注意:要在文件夹里放一张图片,叫cat.jpg















0 0
原创粉丝点击