1. 改变图像大小
OpenCV改变图像大小的操作
1.1 resize
复制代码
1
void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR )
各个参数的意义比较直观,但是需要注意的是 dsize 与 fx 和 fy 必须不能同时为零,resize函数的目标大小可以是任意的大小,可以不保持长宽比率,删除的像素或者新增的像素值通过interpolation(内插)控制;
fx,fy分别指水平和垂直方向的比率;如果dsize 为零,则目标图像的大小是通过这两个参数来计算的:目标图像的宽度为原图像的宽度×fx,同理目标图像的高度为原图像的高度×fy;
如果dsize不为零,fx,fy会自动计算:
复制代码
1
2
fx = dsize.width/src.cols;
fy = dsize.height/src.rows;
因此dsize和(fx,fy)只需设置其中一个,另外一个置为零就可以了~~
2. 滤波
2.1 双边滤波
复制代码
1
2
bilateralFilter(InputArray src, OutputArray dst, int d, double sigmaColor, double sigmaSpace, int borderType=BORDER_DEFAULT );
- d 表示滤波时像素邻域直径,d为负时由 sigaColor计算得到;d>5时不能实时处理。(对效率有较大的影响)
- sigmaColor、sigmaSpace非别表示颜色空间和坐标空间的滤波系数sigma。可以简单的赋值为相同的值。<10时几乎没有效果;>150时为油画的效果。
- borderType可以不指定。
3. 其他
3.1 waitKey
复制代码
1
waitKey(x);
- 第一个参数: 等待x ms,如果在此期间有按键按下,则立即结束并返回按下按键的ASCII码,否则返回-1
- 如果x=0,那么无限等待下去,直到有按键按下
最后
以上就是平淡眼神最近收集整理的关于【学习 Opencv】—— 常见接口的全部内容,更多相关【学习内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复