冰箱门宽度检测函数库
函数并没有详细说明,并且内部的表示的单词可能是不太准确
1.预处理阶段
灰度化:cvtcolor(img,dst,BGR2gray)
缩放:resize(img,dst,dsize,fx,fy,interpolation)
interpolation表示缩放所采用的插值方法。
旋转:opencv没有直接的旋转函数,这里通过仿射变换矩阵来实现
Mat rotation = getRotationmatrix2D(angle,center,disize):
// 这个函数用于生成一个旋转矩阵
warpAffine(src,dst,rotation,dst_size);
2.图像伽马变换
create函数:create(dims,rows,cols,dtype) //创建指定大小尺寸类型的矩阵
at:at(i,j)表示取点元素
pow(gray,0.5) 平方函数,表示取gray得0.5次方
normallize(src,dst,min,max,方法) 表示将新矩阵归一化到0-1矩阵上
3.二值化:
threshold(src,dst,valmin,valmax,二值化方法)
Mat a =Mat::b,Range(n,m),Range(k,l))表示提取b对应行列得到a
mask(r1) = Scalar(0); 将r1区域对应尺寸全部置为0
min(img1,img2,img3); 图像1和2做比较,取两幅图中对应点像素中最小值,得到新图像img3
namewindow:这个函数是用以调节图像显示的窗口的,可以令用户调节窗口的大小或者使窗口按照图像比例尺寸显示,以增强美观性。
4.轮廓绘制
merge(img[],img_merge) //img[]是多维图像矩阵,这个函数作用就是把多个通道得矩阵合并成矩阵,变成新的矩阵img_merge
findcoutours(img,coutours,hiethary,检测模式,轮廓逼近方法等)
//coutours表示轮廓点集,hiethary表示轮廓层级结构
drawcoutours(img,coutours,hiethray,方法等)
boundingRect(点集) 内部存储的是点集,图像的目的就是找这些点集的最小矩形