openCV1.0 cvLoadImage显示图像

先贴代码:

#include "highgui.h"

int main(int argc, char **argv)
{
  IplImage* img;

  if (argc == 2 && (img = cvLoadImage(argv[1], 1)) != 0)
  {
    cvNamedWindow("Image", 1);
    cvShowImage("Image", img);
    cvWaitKey(0);

    cvDestroyWindow("Image");
    cvReleaseImage(&img);
    return 0;
  }
  return -1;
}

当以上代码编译后,我们就可以在命令行模式下执行他,效果如下:

cvLoadImage(argv[1], 1)是将图像文件记载进内存。cvLoadImage()函数是一个高层调用接口,其源码在.../OpenCV/otherlibs/highgui/loadsave.cpp里,它通过文件名确定被加载文件的格式;而且该函数将自动分配图像数据结构所需要的内存。cvLoadImage()函数可支持绝大多数格式类型的图像文件,包括BMP、DIB、JPEG、JPE、PNG、PBM、PGM、PPM、SR、RAS和TIFF。该函数执行结束后返回一个指向图像数据结构(IplImage)的指针,该指针指向一块为描述该图像文件而分配的内存块。

cvNamedWindow()函数也是一个高层调用接口,其作用是在屏幕上创建一个窗口,将被显示的图像包含于该窗口中。函数的第一个参数指定了该窗口标题,第二个参数定义了窗口的属性,该参数可被设置为0或CV_WINDOW_AUTOSIZE,设置为0表示窗口的大小不会因为图像的大小而改变,图像只能在窗口中根据窗口的大小拉伸或缩放;而设置为CV_WINDOW_AUTOSIZE时,窗口则会根据实际大小而自动进行拉伸或缩放。

cvShowImage("Example1", img)函数通过设置其第一个参数确定在哪个已存在的窗口中显示图像,第二个参数确定将哪个图像显示在窗口中。

cvWaitKey(0)的功能是使程序暂停,等待用户触发一个按键操作。如果参数设置为正数则程序将暂停该整数值个毫秒单位后继续执行,如果参数为0或负数则一直等待用户输入。

cvDestroyWindow("Image");销毁显示图像文件的窗口,传入窗口标题。

cvRealseImage(&img); 释放刚才为图像文件所分配的内存

 

转载于:https://www.cnblogs.com/gq5251/p/7772119.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值