Ubuntu下OpenCV2的图像处理功能

   2024-09-30 8240
核心提示:OpenCV(开源计算机视觉库)是一个用于实时计算机视觉的开源库。它包含了许多用于图像和视频处理的优化算法。在Ubuntu系统下,你

OpenCV(开源计算机视觉库)是一个用于实时计算机视觉的开源库。它包含了许多用于图像和视频处理的优化算法。在Ubuntu系统下,你可以使用OpenCV 2来执行各种图像处理任务。

以下是一些常见的OpenCV 2图像处理功能:

基本操作:如读取、显示和保存图像。
import cv2# 读取图像image = cv2.imread('input.jpg')# 显示图像cv2.imshow('Image', image)cv2.waitKey(0)cv2.destroyAllWindows()# 保存图像cv2.imwrite('output.jpg', image)
图像处理:如缩放、旋转、翻转等。
# 缩放图像resized_image = cv2.resize(image, (width, height))# 旋转图像(height, width) = image.shape[:2]center = (width // 2, height // 2)angle = 45  # 旋转角度rotation_matrix = cv2.getRotationMatrix2D(center, angle, 1.0)rotated_image = cv2.warpAffine(image, rotation_matrix, (width, height))# 翻转图像flipped_image = cv2.flip(image, 1)  # 1表示水平翻转,0表示垂直翻转,-1表示水平垂直翻转
颜色空间转换:如将BGR图像转换为灰度图像或HSV图像。
# 转换为灰度图像gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 转换为HSV图像hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
图像滤波:如高斯模糊、中值滤波等。
# 高斯模糊blurred_image = cv2.GaussianBlur(image, (kernel_size, kernel_size), sigmaX)# 中值滤波median_image = cv2.medianBlur(image, kernel_size)
边缘检测:如Canny边缘检测、Sobel算子等。
# Canny边缘检测edges = cv2.Canny(image, threshold1, threshold2)# Sobel算子sobel_x = cv2.Sobel(image, cv2.CV_64F, 1, 0, ksize=kernel_size)sobel_y = cv2.Sobel(image, cv2.CV_64F, 0, 1, ksize=kernel_size)
特征提取:如SIFT、SURF、ORB等。
# SIFT特征提取sift = cv2.SIFT()keypoints, descriptors = sift.detectAndCompute(image, None)# SURF特征提取surf = cv2.SURF()keypoints, descriptors = surf.detectAndCompute(image, None)# ORB特征提取orb = cv2.ORB()keypoints, descriptors = orb.detectAndCompute(image, None)

这只是OpenCV 2图像处理功能的一部分。要了解更多关于OpenCV 2的信息,请参阅官方文档:https://docs.opencv.org/2.4/index.html

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号