Study OpenCV_01

显示电脑中指定路径的图片(支持任意格式)


第一步——加载图片,赋值给指定变量

//首先获取图片,赋值给变量img
	IplImage* img = cvLoadImage("C:\\Users\\朱小鹿\\Pictures\\Saved Pictures\\1.jpg",
		CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR); //以图片最原始的色彩呈现出来

cvLoadImage(char* filename, int flags =CV_LOAD_IMAGE_COLOR)  

说明:

通过文件名确实被加载图像的格式,并且该函数在内部分配图像数据结构所需要的内存单元。
支持的图像格式:BMP, DIB, JPEG, JPE, PNG, PBM, PGM, PPM, SR, RAS,TIFF。
 

参数解释;

Filename:图像所在路径

Flags:

/* 图像颜色不变*/
#define CV_LOAD_IMAGE_UNCHANGED  -1

 

/*灰度图像(单通道)*/
#define CV_LOAD_IMAGE_GRAYSCALE  0

 

/*彩色图像(3通道图形)*/
#define CV_LOAD_IMAGE_COLOR  1

 

/*则输入图像格式可以为8位无符号,16位无符号,32位有符号或者32位浮点型*/
#define CV_LOAD_IMAGE_ANYDEPTH  2

 

/*保持原样*/
#define CV_LOAD_IMAGE_ANYCOLOR  4

 

如果想要载入最真实的图形,选择:
CV_LOAD_IMAGE_ANYDEPTH |  CV_LOAD_IMAGE_ANYCOLOR

 

如果输入有冲突的标志,将采用较小的数字值。比如:
CV_LOAD_IMAGE_GRAYSCALE  | CV_LOAD_IMAGE_COLOR
将载入单通道。

第二步——创建一个窗口,并为窗口起一个名字

	//创建窗口
	cvNamedWindow("showImage");

Int cvNameWindow(char * name, int flags)

参数解释:

name : 窗口的标志,土狗已经有同名窗口,该函数什么也不干。

Flags: CV_WINDOW_AUTOSIZE,会根据图像大小自动调整窗口大小。如果是0,则窗口大小不变。

第三步——显示图片,将图片放置在新创建的窗体中显示

        //显示图像
	cvShowImage("showImage",img);

CvShowImage(char * name, lplImage* dest)

说明:

     在指定窗口上显示图像。

参数解释:

name: 窗口的标志。这个标志是cvNamedWindow函数设定的.

dst: 被显示的图像。

 

第四步——等待用户输入,方可判断何时退出程序

        //何时执行后面的程序
	cvWaitKey(0);

Int cvWaitKey(int key)

参数解释::

Key:如果key的值是大于0的函数,那么该函数的功能是:在此处暂停key毫秒。如果是小于等于0的数,那么,该函数是在等待用户的按键输入,即可执行后面的语句。

第五步——释放整个程序中分配的内存资源

        //释放图片资源
	cvReleaseImage(&img);

	//释放窗体资源
	cvDestroyWindow("showImage");

cvReleaseImage( IplImage** image );

 说明:

     此方法,将释放image所占用的内存资源

cvDestroyWindow(const char* name );

说明:

     此方法,将释放名为name的窗口所占用的内存资源

源代码:

// StudyOpencv_01.cpp: 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "cv.h"
#include "highgui.h"

int main()
{
	//首先获取图片,赋值给变量img
	IplImage* img = cvLoadImage("C:\\Users\\朱小鹿\\Pictures\\Saved Pictures\\1.jpg",
		CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR); //以图片最原始的色彩呈现出来

	//创建窗口
	cvNamedWindow("showImage");

	//显示图像
	cvShowImage("showImage",img);

	//何时执行后面的程序
	cvWaitKey(0);

	//释放图片资源
	cvReleaseImage(&img);

	//释放窗体资源
	cvDestroyWindow("showImage");

    return 0;
}

 

注意点:

1.图片途径,如果采用的是绝对路径,那么一定记得将\修改为\\(添加一个转义字符),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值