OpenCV显示图像的方法——否则程序运行好了都不知道图像怎么读取的

方法一:

利用OpenCV教程——基础篇中的程序,运行环境:VC++6.0。

/*	程序名:hello.c
  功能:从磁盘中读入图像文件,并将图像显示在屏幕上
*/
#include "cv.h"
#include "highgui.h"
int main( int argc, char** argv )
{
    IplImage* pImg; //声明IplImage指针
    //载入图像
    if( argc == 2 && (pImg = cvLoadImage( argv[1], 1)) != 0 )
    {
        cvNamedWindow( "Image", 1 ); //创建窗口
        cvShowImage( "Image", pImg ); //显示图像
        cvWaitKey(0); //等待按键
        cvDestroyWindow( "Image" );//销毁窗口
        cvReleaseImage( &pImg ); //释放图像
        return 0;
    }
    return -1;
}

首先,以上程序在VC6.0中编译连接后在工程的Debug中会生成.exe文件。

说明如下:

int main( int argc, char** argv )

main中参数的含义见点击打开链接


if( argc == 2 && (pImg = cvLoadImage( argv[1], 1)) != 0 )

其中的cvLoadImage()里面的参数使用argv[1],这种情况下生成的exe文件需要在window的cmd界面下运行。运行过程中需要使用DOS命令行命令,可以自己网上查找。


DOS命令如下:

tests为所建立的工程所在文件夹,所用图片需要放在Debug目录里面。


运行结果如下:




昨天只研究处理第一种方法,方法一每次都要进入DOS界面输入命令才能打开图像,这样的好处是可以练习一下window下的命令行吧(废话一下)。最大的不好就是当程序要对一副图像进行多种处理时,每次都要输入好多命令非常的繁琐,所以就想到利用matlab中的函数imread一样,直接把图像的名字作为参数传入cvLoadImage(),这样图像就可以直接读取,不需要繁琐的DOS界面操作了。

详细方法如下:

方法二:

// 载入图像  

    img=cvLoadImage("kobe.jpg",-1);//“-1”表示默认读取图像的原通道数

其他部分的程序如方法一,但是图像能够自动读入和显示出来的重点是把图像文件放在所建立的工程所在的目录里面,而不是方法一中的放在工程的Debug文件夹内!!!

结果图像:



PS:img=cvLoadImage("D:\tempf2\testfuction\kobe.jpg",-1);当把图像的路径也放进去,看似很完整,但是目前程序报错:不认识字符'k',希望后续可以揭晓答案……





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值