opencv的基本运用:打开,显示图像

    安装好opencv2.2后,就可以试试编写一些简单的程序了。

    同时在安装目录下有一些例子,很不错,可以看看。下面是对opencv的初级运用:打开并显示出一幅图像。

    先给出一个函数:cvLoadImage(arg1,arg2)。从这个函数的名字就知道这是读入一张图像。带2个参数,还回值是一个IpImage的指针。

    arg1:filename,文件的名字

    arg2:可以有3个值。-1,以原始通道数读入;0,强制转化为灰度;1,读取彩色图像。

    然后是使用cvNameWindow和cvShowImage来创建窗口,显示图像。

    这样就简单的显示出一幅图像。下面是一个写好C的例子,可以参考下。

    同时也有一个C++的例子

    需要说明的是C++版的图像不用费心release,在析构中会帮你搞定。同时可以看到出现了一张名为“lena.jpg”的图像。这是一张对比很强的图片很出名,同时也很养眼,呵呵。大家有兴趣可以去搜一下。我记得这是一张playboy的封面图。

    上图就是那张了,全图可以去搜索。

    重点来了。上面都是对图片(已经有格式头)的处理。很多时候情况是对原始数据进行处理。也就是说只有图像数据,没格式头。现在有3张办法

1.使用工具(或自己写个matlab或者C++的小程序)进行处理。将图像数据打包成图片格式。

2.使用mat格式。在opencv中有矩阵类型。可以将数据直接读入,然后处理矩阵。

3.对图像数据(data)进行处理。这是我常用的一种方法。

    下面对第3种方法进行简单介绍。

    在opencv中一般我喜欢将图像装入IpImage这给类。原因是函数多,简单。在IpImage中有成员变量data。从名字就可以看出是这个图像的数据存放指针。做法就是使用cvCreatImage初始化IpImage的大小,然后直接向data写入图像数据。这里对指针的使用很暴力,谨慎操作。下面贴出我的代码,很暴力。

    虽然暴力了点,但效率相当不错。处理的都是25M的文件流,耗时几乎不计。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值