OpenCV预了解
图像处理库的学习
cv2
是 OpenCV 的 Python 接口库,提供了大量图像处理和计算机视觉功能。以下是 OpenCV 中的一些常用 cv2
模块和函数列表:
图像读取和写入
cv2.imread(filename, flags)
:读取图像文件cv2.imwrite(filename, img)
:保存图像到文件cv2.imdecode(buf, flags)
:从内存缓存中解码图像cv2.imencode(ext, img)
:将图像编码成内存中的指定格式
图像显示和窗口操作
cv2.imshow(winname, mat)
:在窗口中显示图像cv2.waitKey([delay])
:等待按键输入cv2.destroyWindow(winname)
:销毁指定窗口cv2.destroyAllWindows()
:销毁所有窗口
图像几何变换
cv2.resize(src, dsize, ...)
:调整图像大小cv2.warpAffine(src, M, dsize, ...)
:仿射变换cv2.warpPerspective(src, M, dsize, ...)
:透视变换cv2.getRotationMatrix2D(center, angle, scale)
:获取旋转矩阵cv2.flip(src, flipCode)
:图像翻转
图像绘图函数
cv2.line(img, pt1, pt2, color, thickness, ...)
:画直线cv2.rectangle(img, pt1, pt2, color, thickness, ...)
:画矩形cv2.circle(img, center, radius, color, thickness, ...)
:画圆cv2.putText(img, text, org, fontFace, fontScale, color, thickness, ...)
:在图像上绘制文字
图像颜色空间转换
cv2.cvtColor(src, code)
:颜色空间转换cv2.split(src)
:将图像分离成各个颜色通道cv2.merge(mv)
:将颜色通道合并
边缘检测与轮廓检测
cv2.Canny(image, threshold1, threshold2)
:Canny 边缘检测cv2.findContours(image, mode, method)
:查找图像轮廓cv2.drawContours(image, contours, contourIdx, color, ...)
:绘制轮廓
阈值操作
cv2.threshold(src, thresh, maxval, type)
:图像阈值化cv2.adaptiveThreshold(src, maxValue, adaptiveMethod, thresholdType, blockSize, C)
:自适应阈值
滤波与图像平滑
cv2.GaussianBlur(src, ksize, sigmaX, ...)
:高斯模糊cv2.medianBlur(src, ksize)
:中值模糊cv2.bilateralFilter(src, d, sigmaColor, sigmaSpace)
:双边滤波cv2.blur(src, ksize)
:均值模糊
图像直方图
cv2.calcHist(images, channels, mask, histSize, ranges)
:计算直方图cv2.equalizeHist(src)
:直方图均衡化
形态学操作
cv2.erode(src, kernel, iterations)
:腐蚀cv2.dilate(src, kernel, iterations)
:膨胀cv2.morphologyEx(src, op, kernel, ...)
:形态学变换(开运算、闭运算等)
特征检测与匹配
cv2.SIFT_create()
:创建 SIFT 特征检测器cv2.ORB_create()
:创建 ORB 特征检测器cv2.BFMatcher_create()
:创建暴力匹配器
视频操作
cv2.VideoCapture(index)
:创建视频捕获对象cv2.VideoWriter(filename, fourcc, fps, frameSize)
:创建视频写入对象cv2.VideoCapture.read()
:读取视频帧cv2.VideoCapture.release()
:释放视频捕获对象cv2.VideoWriter.release()
:释放视频写入对象
图像金字塔
cv2.pyrUp(src, dstsize, ...)
:向上采样cv2.pyrDown(src, dstsize, ...)
:向下采样
其他常用操作
cv2.addWeighted(src1, alpha, src2, beta, gamma)
:图像加权求和cv2.absdiff(src1, src2)
:计算两图像差异的绝对值cv2.bitwise_and(src1, src2, ...)
:按位与操作cv2.bitwise_or(src1, src2, ...)
:按位或操作cv2.bitwise_not(src, ...)
:按位取反
这个列表并非完整的 cv2
函数集,但包含了常用的图像处理和计算机视觉函数。如果你需要查看详细的所有函数列表,可以使用以下命令:
这样可以查看 cv2
模块中所有函数的详细说明。
Last updated