OpenCV常用函数及图像处理常用算法

学习笔记

OpenCV常用函数

设备环境

  1. 树莓派 3B
  2. OpenCV 3.4.1

1.medianBlur(img, img_noise, 3);

中值滤波函数
参数为输入图像,输出图像,核矩阵大小

2.blur(img, img_box_smooth, Size(3,3));

模糊滤波函数
参数为输入图像,输出图像,模糊效果

3.去光算法的比较

原图与光背景
在这里插入图片描述
差分与除法对比图
在这里插入图片描述
光纹L、图像I、差分dif、除法div
dif = L - I
div = dif * 255 / L = 255 * ( 1 - ( I / L ) )

4.估计算法生成背景

左图为估计背景,右图为实际背景
在这里插入图片描述
算法代码

/**
 * Calcualte image pattern from an input image
 * @param img Mat input image to calculate the light pattern
 * @return a Mat pattern image
 */
Mat calculateLightPattern(Mat img)
{
  Mat pattern;
  // Basic and effective way to calculate the light pattern from one image
  blur(img, pattern, Size(img.cols/3,img.cols/3));
  return pattern;
}

效果比较好

5.求灰度图像的平均值

输出灰度图像的平均值和通道数
img_noise为Mat型

cout << "Channel: " << img_noise.channels() << endl;
cout<<"mean "<<mean(img_noise)[0]<<endl;

在这里插入图片描述
灰度图像灰度级范围一般从0到255,白色为255,黑色为0。

6.resize();

void cv::resize	(	InputArray 	src,
					OutputArray 	dst,
					Size 	dsize,
					double 	fx = 0,
					double 	fy = 0,
					int 	interpolation = INTER_LINEAR 
)	

将原图像大小改为目的图像大小

resize(src, dst, dst.size(), 0, 0, interpolation);

将原图像大小长宽各缩小一半

resize(src, dst, Size(), 0.5, 0.5, interpolation);

缩小,interpolation使用INTER_AREA;放大,interpolation使用INTER_CUBIC (慢)或INTER_LINEAR(快,也还行)。
官方资料: OpenCV: Geometric Image Transformations.

7.waitKey()

等待n毫秒waitKey(n)
永久等待waitKey(0)

8.detectMultiScale()

void cv::CascadeClassifier::detectMultiScale	(	InputArray 	image,
																			std::vector< Rect > & 	objects,
																			double 	scaleFactor = 1.1,
																			int 	minNeighbors = 3,
																			int 	flags = 0,
																			Size 	minSize = Size(),
																			Size 	maxSize = Size() 
)		

image 灰度图像
objects 识别出来的人脸数组
scaleFactor 参数,指定在每个图像尺度上缩小多少图像大小
minNeighbors 参数,指定每个候选矩形应该保留多少个邻居
flags
minSize 最小可能的对象大小。小于该值的对象将被忽略
maxSize 最大可能的对象大小。大于该值的对象将被忽略。如果maxSize == minSize,模型在单一尺度上进行评估

9.rectangle()

10.RECT类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值