博客
关于我
OpenCV 中的图像转换
阅读量:791 次
发布时间:2023-02-23

本文共 1835 字,大约阅读时间需要 6 分钟。

OpenCV 中的图像转换 在Python中,使用OpenCV进行图像转换是一种常见的需求。以下是一些基本的图像转换方法及其代码示例:

### 转灰度图像 将彩色图像转换为灰度图像,以简化处理。

```python
import cv2
import numpy as np

# 加载彩色图像

img = cv2.imread('image.jpg')

# 将彩色图像转换为灰度图像

gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 显示原始图像和灰度图像

cv2.imshow('Original Image', img)
cv2.imshow('Grayscale Image', gray_img)

cv2.waitKey(0)  # 等待用户按键,关闭窗口

cv2.destroyAllWindows()  # 清除所有OpenCV创建的窗口

### 旋转图像 通过指定角度旋转图像。

```python
import cv2
import numpy as np

# 加载图像

img = cv2.imread('image.jpg')

# 设置旋转中心(左上角坐标)和旋转角度

center = (img.shape[1] // 2, img.shape[0] // 2)  # 图像中心点
angle = 45
scale = 1.0

# 计算旋转矩阵

M = cv2.getRotationMatrix2D(center, angle, scale)

# 旋转图像

rotated_img = cv2.warpAffine(img, M, (img.shape[1], img.shape[0]))

cv2.imshow('Rotated Image', rotated_img)

cv2.waitKey(0)
cv2.destroyAllWindows()

### 调整图像大小 改变图像的尺寸以适应不同的应用场景。

```python
import cv2
import numpy as np

# 加载图像

img = cv2.imread('image.jpg')

# 调整图像大小为(宽, 高)

new_size = (500, 300)
resized_img = cv2.resize(img, new_size, interpolation=cv2.INTER_AREA)

cv2.imshow('Resized Image', resized_img)

cv2.waitKey(0)
cv2.destroyAllWindows()

### 测试用例 假设我们有一个800x600像素的图像,我们想要将它旋转45度,然后调整其大小为500x300。

```python

import cv2
import numpy as np

# 加载图像

img = cv2.imread('input_image.jpg')

# 设置旋转中心、角度和缩放比例

center = (img.shape[1] // 2, img.shape[0] // 2)
angle = 45
scale = 1.0

# 计算旋转矩阵

M = cv2.getRotationMatrix2D(center, angle, scale)

# 旋转图像

rotated_img = cv2.warpAffine(img, M, (img.shape[1], img.shape[0]))

# 调整图像大小

new_size = (500, 300)
resized_img = cv2.resize(rotated_img, new_size, interpolation=cv2.INTER_AREA)

# 显示结果图像

cv2.imshow('Rotated and Resized Image', resized_img)
cv2.waitKey(0)
cv2.destroyAllWindows()}

### 人工智能大模型应用示例 假设我们正在开发一个图像识别应用程序,需要预处理输入的图像以适应机器学习的输入格式。可以使用上述代码将彩色图像转换为灰度图像,然后调整其大小,以便于模型的训练。

具体场景:在图像识别模型中,通常需要将输入图像调整为固定尺寸(如224x224),因为深度学习模型的输入通常是固定的。

转载地址:http://jlsfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现深度优先搜索递归算法(附完整源码)
查看>>
Objective-C实现牛顿下山法(附完整源码)
查看>>
Objective-C实现牛顿插值法(附完整源码)
查看>>
Objective-C实现牛顿法算法(附完整源码)
查看>>
Objective-C实现状态模式(附完整源码)
查看>>
Objective-C实现狄克斯特拉算法(附完整源码)
查看>>
Objective-C实现生成正态分布数据(附完整源码)
查看>>
Objective-C实现用二维数组实现矩阵的转置(附完整源码)
查看>>
Objective-C实现用半正弦公式计算两个坐标之间的距离算法 (附完整源码)
查看>>
Objective-C实现电子词典(附完整源码)
查看>>
Objective-C实现离散傅里叶变换(附完整源码)
查看>>
Objective-C实现移位密码加解密(附完整源码)
查看>>
Objective-C实现程序暂停(附完整源码)
查看>>
Objective-C实现程序自动更新(附完整源码)
查看>>
Objective-C实现米到英尺的转换算法(附完整源码)
查看>>
Objective-C实现粒子群算法(附完整源码)
查看>>
Objective-C实现精准计时(附完整源码)
查看>>
Objective-C实现系统时间戳(附完整源码)
查看>>
Objective-C实现约瑟夫环算法(附完整源码)
查看>>
Objective-C实现给定一个句子,返回出现次数最多的单词算法(附完整源码)
查看>>