Python cv 几个常用信息提取的功能,给出示例代码,除了读取和显示图像,裁剪图像和图像灰度化和边缘检测
时间: 2023-06-19 17:07:09 浏览: 77
Python cv 常用的信息提取功能主要包括图像旋转、图像缩放、颜色空间转换和图像分割等。
以下是示例代码:
1. 图像旋转
``` python
import cv2
image = cv2.imread("input.jpg") # 读取图像
(h, w) = image.shape[:2] # 获取图像尺寸
center = (w // 2, h // 2) # 获取旋转中心点
angle = 45 # 旋转角度
M = cv2.getRotationMatrix2D(center, angle, 1.0) # 获取旋转矩阵
rotated = cv2.warpAffine(image, M, (w, h)) # 旋转图像
cv2.imshow("Rotated Image", rotated) # 显示旋转后的图像
cv2.waitKey(0) # 等待按键
cv2.destroyAllWindows() # 关闭窗口
```
2. 图像缩放
``` python
import cv2
image = cv2.imread("input.jpg") # 读取图像
scale = 0.5 # 缩放比例
resized = cv2.resize(image, None, fx=scale, fy=scale, interpolation=cv2.INTER_LINEAR) # 缩放图像
cv2.imshow("Resized Image", resized) # 显示缩放后的图像
cv2.waitKey(0) # 等待按键
cv2.destroyAllWindows() # 关闭窗口
```
3. 颜色空间转换
``` python
import cv2
image = cv2.imread("input.jpg") # 读取图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 将图像转换为灰度图像
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # 将图像转换为HSV颜色空间
cv2.imshow("Grayscale Image", gray) # 显示灰度图像
cv2.imshow("HSV Image", hsv) # 显示HSV图像
cv2.waitKey(0) # 等待按键
cv2.destroyAllWindows() # 关闭窗口
```
4. 图像分割
``` python
import cv2
image = cv2.imread("input.jpg") # 读取图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 将图像转换为灰度图像
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1] # 计算OTSU阈值并二值化图像
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) # 查找轮廓
for contour in contours:
(x, y, w, h) = cv2.boundingRect(contour) # 计算轮廓的边界框
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2) # 绘制边界框
cv2.imshow("Segmented Image", image) # 显示分割后的图像
cv2.waitKey(0) # 等待按键
cv2.destroyAllWindows() # 关闭窗口
```
注意,以上仅为示例,实际使用需要根据具体需求进行修改和调整。
阅读全文