imread(const string&filename,int flap): 读取文件
filename:图文件名称
flags: 读取方式
**OpenCV可读取文件种类
·BMP:Windows位图文件
·PBM,PGM,PPM:可移植图文件格式
·SR、RAS:Sun的图文件格式
·JPEG、JPG、JPE:JPEG图文件格式
·TIFF、TIF:TIFF图文件格式
·PNG:可以移植网络图文件格式
**读取方式
CV_LOAD_IMAGE_UNCHAGED:原始文件状态读取 数值大于0
CV_LOAD_GRAYSCALE:黑白方式读取,数值等于0
CV_LOAD_COLOR:彩色方式读取,数值大于0
namedWindow(const string&winname,int flags) :建立要显示图文件的窗口
winname:窗口名称,也可以表示同时建立多个窗口,再以名称区分
flags有以下几种选择
·WINDOW_AUTOSIZE:窗口大小不可改变,会按照图文件的大小自动调整
·WINDOW_NOMAL:窗口大小可以改变,必须是使用Qt开发
·WINDOW_OPENGL:设置支持OpenGL
·CV_WINDOW_NORMAL:重新建立对OpenCL的支持,窗口随意放大图片不会失真
imshow(const string&winname,inputArray mat):显示窗口
winname:窗口名称
Mat:图文件所声明的矩阵参数
waitKey():等待按键 毫秒为单位
rectangle(Mat& img,Point pt1,Point pt2,const Scalar&color,int thickness=1,int lineType=8,int shift=0):绘制矩形
rectangle(Mat&img,Rect rec,const Scalar &color,int thickness=1,int linetype=8,int shift=0):绘制矩形
img:要绘制矩形所在的图像
pt1:矩形的顶点
pt2:矩形pt1的对角的顶点
color:矩形的颜色
thickness:矩形线的厚度
lineType:矩形线的格式
shift:点坐标内的部分参数
rec:要绘制的矩形内容
ellipse(Mat& img,Point center,Size axes,double angle,double startAngle,double endAngle,const Scalar&color,
int thickness=1,int lineType=8,int shift =0);//绘制椭圆
ellipse(Mat& img,const RotateRect&box,const Scalar&color,int thickness=1,int lineType=8)
img:要绘制椭圆的图像
center:椭圆圆心
axes:椭圆主轴的一半
angle:椭圆旋转角度读书
startAngle:椭圆弧度起始角度
endAngel:椭圆弧度结束角度
color:椭圆的颜色
thickness:椭圆弧线的厚度
lineType:绘制椭圆线的形态:(8,4,CV_AA LINE_AA)
shift:椭圆心与主轴坐标的部分位数
Box:椭圆外围矩形
circle(Mat& img,Point center,int radius,const Scalar &color,int thickness=1,int lineType=8,int shift=0)//绘制圆
img:要绘制圆的图形
center:圆的圆心
radius:圆的半径
color:圆的颜色
thickness:圆线的厚度
lineType:绘制圆线的形态
shift:圆心与轴值坐标的部分位数
fillPoly(Mat&img,const Point**pts,const int * npts,int ncontours,const Scalar&color,int lineType=8,int shift=0,
Point offset=Point())多边形围绕区域填满
img:填满区域所在的图像
pts:多边形数组,数组内容是多边形点的数组
npts:多边形定点数数组
ncontours:填满区域的轮廓数目
color:多边形颜色
lineType:多边形边的形态
shift:顶点坐标的部分位数
offset:轮廓的位移点
line(Mat& img,Point pt1,Point pt2,const Scalar&color,int thickness=1,int lineType=8, int shift=0)绘制直线
img:绘制直线所在的图像
pt1:直线起点
pt2:直线终点
color:颜色
thickness:直线厚度
lineType :直线形态
shift:点坐标内的部分位数
polylines(Mat&img,const Point**pts,const int *npts,int ncontours,bool isClosed,const Scalar&color,
Int thickness=1,int lineType=8,int shift=0):绘制多边形曲线
img:图像
pts:多边形曲线点的数组
npts:多边形曲线顶点数的数组
ncontours:曲线数
isClosed:表示是否为封闭多边形
colory:颜色
thickness:曲线厚度
lineType:曲线形态
shift:坐标部分位数
cvtColor(InputArray src,OutputArray dst,int code,int dstCn=0):图像颜色空间转换
src:输入图像
dst:目标图像
code:颜色转换空间种类
dstCn:输出图像通道数,如果为0则有输入图像src和code自动获取
imwrite(cosnt string&filename,InputArray img):存储图像
filename:要存储的文件名
img:要存储的图像
addweight(inputArray src1,double alpha,inputArray src2,double beta,double gamma,outputArray dst,intdtype=-1)以权重将两图重合
Src1:要相加的第一个图文件
Alpha:第一个图文件的权重
Src2:要想加的第二个图文件
Beta:第二个图文件的权重
Dst:两个图文件的相加的结果的图文件
Dtype:相加结果图的景深,此参数可有可无
resize(InputArray src,outputArray dst,Size dsize, double fx=0,double fy=0,int interpolation=INTER_LINEAR):改变图像大小
Src:输入图像
Dst:输出图像
Dsize:输出图像大小,如果等于0 则 dsize=Size(round(fx*src.cols),round(fy*src.rows)) fx,fy不为0
fx:水平缩放因子
fy:垂直缩放因子
interpolation:差值方式
·INTER_NEAREST: 最靠近周围差值法
·INTER_LINEAR:双线性差值
·INTER_AREA:用像素关系区再取样差值
·INTER_CUBIC:在4x4像素附近用双立方差值
·INTER_LANCZOS4:在8x8像素附近使用Lanczos差值
Rng(uint64 state)产生随机数
state:起始数值的64位值
Size getTextSize(const string&text,int fontFace,double fontScale,int thickness,int *baseLine):设置文字长宽
text:文字
fontFace:字体
fontScale:字体大小
thickness:笔画粗细
baseLine:文字底线y坐标
putText(Mat &img,const string&text,Point org,int fontFace,double fontScale,Scalar color,int thickness
Int lineType,bool bottomLeftOrigin)
img:图片
text:文字
org:文字在图中的左下角
fontFace:字体 FONT_HERSHEY_
fontScale:大小
color:颜色
thickness:笔划粗细
lineType:文字形态
bottomLeftOrigin:参数可选。起点是否在左下角,否则在又上角
int getOptimalDFTSize(int versize)// 由输入想浪取得最佳的DFT大小
versize //输入的向量大小
copyMakeBorder(InputArray dst,OutputArray dst,int top, int bottom, int left, int right, int borderType, const Scalar(&value=Scalar())
src 原始图
dst 输出图
top 向上扩展的像素数
bottom 向下扩展的像素数
left 向左扩展的像素数
right 向右扩展的像素数目
borderType 边框类
value 边框值
dft(InputArray src,OutputArray dst,int flags=0,int nonzeroRows=0):离散傅里叶变换
src 原始图
dst 结果图
flags 转换标志
magnitude(InputArray x,OutputArray y,OutputArray magnitude) 计算二维向量的级数
x 向量x坐标的浮点数组
y 向量y坐标的浮点数组
magnitude 输出数组
log(InputArray src,OutputArray dst) 对数运算
src 输入图
dst 输出图
normalize(InputArray src,OutputArray dst,double alpha=1,double beta=0,int norm_type=NORM_L2,int dtype=-1,InputArray mask=noArray()) 数组值矩
src 输入图
dst 输出图
alpha 基准正常化
beta 范围正常化的较高范围边界值
norm_type 正常化类型
dtype 负值 输出与输入有相同的类型,非负值,输出和输入有相同的通道和深度
mask 可有可无的遮罩值
createTrackBar(const string &trackbarname,const string& winname,int *value,int count,TrackbarCallback onChange=0,void *yserdata=0):窗口滑块
trackbarname 滑块名称
winname 呈现的窗口名称
value 滑块所在位置的值
count 滑块的最大值
onChange 示例处理函数
userdata 要传入处理滑块函数的值
absdiff(InputArray src1,InputArray src2,OutputArray dst):计算两图差异的绝对值
src1 第一个输入图或者Scalar颜色
src2 第二个输入图或者Scalar颜色
dst 结果图
GaussianBlur(InputArray src,OutputArray dst,Size ksize,double sigmaX,double sigmaY=0,int borderType=BORDER_DEFULT) 高斯滤波平滑图像
src 输入图
dst 输出图
ksize 核心大小
sigmaX 高斯X的方向核心标准差
sigmaY 高斯Y的方向核心标准差
borderType 像素外推边界类型
Add(inputArray src1,inputArray src2,outputArray dst,inputArray mask=noArray(),int dtype=-1):计算两个图像或者颜色值相加
src1:第一个图像或者颜色值
src2:第二个图像或者颜色值,与第一个图像相同
dst:输出图像
mask:掩码,可有可无
dtype:输出图像景深,可有可无
blur(InputArray src,OutputArray dst,Size ksize,Point anchor=Point(-1,-,1),int borderType=BORDER_DEFAULT) 归一化方格滤波器平滑图像
src 输入图
dst 输出图
ksize 核大小
anchor 锚点
borderType 像素外推
medianBlur(InputArray src,OutputArray dst,int ksize) 平均滤波器模糊图像
src 输入图
dst 输出图
ksize 光圈线性大小 大于1的奇数
bilateralFilter(InputArray src,OutputArray dst,int d,double sigmaColor,double sigmaSpace,int borderType=BORDER_DEFAULT) 左右对称滤波图像
src 输入图像
dst 输出图
d 每个像素临近地区的直接
sigmaColor 颜色空间内的滤波器标准差
sigmaSpcae 坐标空间内的滤波器标准差
borderType 像素外推边缘的类型
Mat getStructingElement(int shape,Size ksize,Point anchor=Point(-1,-1)):返回结构性元素
shape 元素形状 长,椭圆,十字
ksize 结构性元素大小
anchor 锚点位置
erode(InputArray src,OutputArray dst,InputArray kernel,Point anchor,int iterations,int borderType, const Scalar&borderValue) 腐蚀
src 输入图
dst 输出图
kernel 腐蚀图像的结构性元素
anchor 锚点
iterations 腐蚀次数
borderType 外推边界类型
borderValue 边缘的值
dilate(InputArray src,OutputArray dst, InputArray kernel,Point anchor=Point(-1,-1) int iterations=1,int borderType=BORDER_CONSTANT,
const Scalar& borderValue=morphologyDefalutBorderValue()) 膨胀图像
src 原始图
dst 输出图
kernel 结构元素
anchor 锚点
iterations 膨胀次数
borderType 外推边缘类型
borderValue 边缘的值
morphologyEx(InputArray src,OutputArray dst, int op,InputArray kernel,Point anchor=Point(-1,-1),int iterations=1,int borderType=BORDER_CONSTANT,
const Scalar&borderValue=morphologyDefaultBorderValue())高级形态变化
src 输入图
dst 输出图
op 形态运算类型
kernel 结构元素
anchor 锚点
iterations 膨胀次数
borderType 外推边缘类型
bordeValue 边缘的值
pyrUp(InputArray src,OutputArray dst,const Size& dstsize=Size(),int borderType=BORDER_DEFAULT) 向上取样并模糊化 放大
src 输入图
dst 输出图
dstsize 输出图像大小
borderType 像素外推边缘类型
pyrDown(InputArray src,OutputArray dst,const Size& dstsize=Size(),int borderType=BORDER_DEFAULT) 向下取样模糊化 缩小
src 输入图
dst 输出图
dstsize 输出图像大小
borderType 像素外推边缘类型
filter2D(InputArray src,OutputArray dst,int ddepth,InputArray kernel,Point anchor=Point(-1,-1) double beta=0,int borderType )用核作卷积
src 输入图
dst 输出图
ddepth 输入图像的深度
kernel 卷积处理核值
anchor 核的锚点
delta 增加到每个像素的值
borderType 像素外推
Scharr(InputArray src,OutputArray dst,int ddepth,int dx,int dy,double scale=1,double delat=0,int borderType=BORDER_DEFAULT) 计算图像X或Y轴算子值
src 输入图
dst 输出图
ddepth 输出图像深度
dx X轴算子
dy Y轴算子
scale 计算算子值的缩放因子
delta 输出图像的差异值
borderType 边缘形态
Soble(InputArray src, OutputArray dst,int ddepth,int dx,int dy, int ksize=3,double scale=1,double delta=0,int borderType=BORDER_DEFAULT) 计算第一第二,第三或混合的图像算子
src 输入图
dst 输出图
ddepth 输出图像深度
dx X轴算子
dy Y轴算子
ksize Sobel核大小 1,3,5,7
scale 计算算子值的缩放因子
delta 输出图像的差异值
borderType 边缘形态
converScaleAbs(InputArray src,OutputArray dst,double alpha=1,double beta=0)计算绝对值 并将结果转换成8位
src 输入图
dst 输出图
alpha 缩放因子
beta 缩放值的差异值
Laplacian(InputArray src,OutputArray dst,int ddepth,int ksize=1,double scale=1,double delta=0,int borderType=BORDER_DEFAULT) 拉普拉斯运算
src 输入图
dst 输出图
ddepth 图像深度
ksize 第二算字光圈大小
scale 拉普拉斯缩放因子
delta 输出图像的差异值
borderType 边缘类型
canny(inputArray image,OutputArray edges,double threshold1,double threshold2,int apertureSize=3,bool L2gradient=false) 寻找图像边缘
image 输入图
edges 输出的边缘图
threshold1 滞后程序的第一个阈值
threshold2 滞后程序的第二个阈值
apertureSize Sobel运算的光圈大小
L2gradient 是否更精准的标志
HoughLines(InputArray image,OutputArray lines,double rho,double theta,int threshold,double srn=0,double stn=0) 用霍夫变换在二元图像中寻找线
image 输入图
lines 输出线的向量值
rho 像素中距离解析的累加器
theta 累加器的角解析的弧度
threshold 累加器的阈值参数
srn 多级别霍夫变换,距离解析rho的除数
stn 多级别霍夫变换,角解析theta的除数
HoughLinesP(InputArray image,OutputArray lines,double rho,double theta,int threshold,double minLineLength=0,double maxLineGap=0):概率的霍夫变换二元图像寻找线
image 输入图像
lines 输出线的向量值
rho 像素中距离解析的累加器
theta 累加器的角解析弧度
threshold 累加器的阈值参数
minLineLength 线的最小长度
maxLineGap 线中两点间允许的最大间隔
HouhjCircles(InputArray image,OutputArray circles,int method,doubel dp,double minDist,double param1=100,double param2=100,int minRadius=0,int maxRadius=0)霍夫圆检测
image,输入灰度图
circles 找到圆的输出向量(x,y,r)
method 检测方法
dp 累加器解析对图像解析的反向比 1相同,2一半
minDist 检测到的圆心最小距离,
param1 指定方法的第一个参数
param2 指定方法的第二个参数
minRadius 圆的最小半径
maxRadius 圆的最大半径
remap(InputArray src,OutputArray dst,InputArray map1,InputArray map2,int interpolation,int boderMode=BORDER_CONSTANT,const Scalar &borderValue=Scalar())几何变换
src 原图
dst 结果图
map1 第一个图
map2 第二个图
interpolation 插值法
borderMode 像素外推
borderValue 固定边缘的值
Mat getAddineTransform(InputArray src,InputArray dst) 放射变换
src 原图像三角形顶点坐标
dst 变换结果图像对应的三角形顶点坐标
Mat getRotationMatrix2D(Point2f center,double angle,double scale):2D旋转的Affine矩阵
center 源图像的旋转中心
angle 旋转角度 正值反时针旋转 坐标远点左上角
scale 灯箱缩放因子
warpAffine(InputArray src,OutputArray dst,InputArray M,Size dsize,int flags=INTER_LINEAR,int borderMode=BORDER_CONSTANT,const Scalar&borderValye=Scalar()) 放射变换
src 输入图象个
dst 输出图像
M 2x3变换矩阵
dsize 输出图像大小
flags 像素外推组合
bordeMode 边缘外推的模式
bordeValue 固定边缘的值