openCV
2016-05-11 10:03:05 26 举报
AI智能生成
OpenCV学习知识点分类总结
作者其他创作
大纲/内容
基本操作
Mat
opencv用这个来存储图片,是一个矩阵(行、列)
Mat M(2,2, CV_8UC3, Scalar(0,0,255));
CV_8UC3
CV_[The number of bits per item][Signed or Unsigned][Type Prefix]C[The channel number]
行数mat.rows(), 列数: mat.rows()
第几行: mat.row(1)
读取图片
Mat image = imread(argv[1], CV_LOAD_IMAGE_COLOR);
loads the image in the BGR format
展示图片
namedWindow( "Display window", WINDOW_AUTOSIZE );
imshow( "Display window", image );
保存图片
imwrite( "./Gray_Image.jpg", gray_image );
修改图片
cvtColor( image, gray_image, CV_BGR2GRAY );
调整对比度和亮度:Mat::convertTo(OutputArray m, int rtype, double alpha=1, double beta=0 )
灰度化
cvtColor(src, src_gray, CV_BGR2GRAY);
CV_BGR2HSV
Hue, 色调(0°~360)
Saturation,饱和度(0.0~1.0)
Value 亮度(0.0 ~ 1.0
图片通道的分离
vector bgr_planes;
split( src, bgr_planes );
图片通道的合并
vector bgr_planes;
split( bgr_planes, dst );
图片操作
透视变换
cv::Mat transmtx = cv::getPerspectiveTransform(corners, quad_pts);
cv::warpPerspective(src, quad, transmtx, quad.size());
可以对倾斜的图片进行调正
裁剪图片
自定义区域
正方形: region of interest(ROI)
Rect roi (x, y, width, height)
src(roi).copyTo(dst)
闭操作
闭操作可使轮廓线更光滑,但与开操作相反的是,闭操作通常消弥狭窄的间断和长细的鸿沟,消除小的空洞,并填补轮廓线中的断裂。
轮廓查找
findContours(
一般先用canny算法做预先处理
hierarchy的描述
next、 previous、first child、parent
直方图(histogram)
直方图是对数据集合的统计 ,并将统计结果分布于一系列预定义的bins中
直方图可以统计的不仅仅是颜色灰度,它可以统计任何图像特征(如梯度,方向等等)。
直方图计算
仿射(Affine)
修改2d图片展示方向
wiki
各种算法
透视(perspective)
投影(projections)
学习资料
opencv入门学习blog1
相关测试数据
0 条评论
下一页