用opencv踩的坑

最近在写立体匹配的算法

0. 一个int是4byte32bit,可以节省好多空间,位操作用<<和>>,而bool其实是long值,在64位系统能到8byte64bit

1. 对于所有认为是非负数的值都给上个unsigned,census的时候想用bit操作来计算hamming distance,结果有一个变量存下来是负数,在while(变量){进行bit位移}的时候移到最后值是-1,while(-1)程序就一直卡在循环里面了 用法

2. 本来以为Mat.at<uchar>(x,y)会比Mat.ptr<uchar>效率低很多的,所以就改写用指针,后来发现其实效率差不多。

3. 二维数组开成x*width+y的一维数组其实也行,可读性差一点,不然动态的二维数组就是int **var=new int*[x]然后for(x) int *var[x]=new int[y]

4. opencv4之后对c时代的opencv1支持度基本快没有了,要用的话调用<opencv2/imgproc/imgproc_c.h>和<opencv2/highgui/highgui_c.h>这些c时代的库,但是cvLoadImage()函数直接没了,想接起来的话用imread然后用&IplImage()转过去,转回去直接丢进Mat()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值