图像点运算用python实习代码
时间: 2023-11-12 19:10:44 浏览: 43
以下是Python中进行图像点运算的示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('test.jpg', cv2.IMREAD_GRAYSCALE)
# 显示原始图像
cv2.imshow('Original Image', img)
# 图像反转
img_inverted = 255 - img
cv2.imshow('Inverted Image', img_inverted)
# 对数变换
c = 255 / np.log(1 + np.max(img))
img_log = c * np.log(1 + img)
img_log = np.array(img_log, dtype=np.uint8)
cv2.imshow('Log Transformed Image', img_log)
# 幂律变换
gamma = 0.5
img_power_law = np.array(255 * (img / 255) ** gamma, dtype=np.uint8)
cv2.imshow('Power Law Transformed Image', img_power_law)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述示例代码中,我们首先读取了一张灰度图像,并使用`cv2.imshow()`函数显示了原始图像。然后,我们进行了几种常见的图像点运算:
- 图像反转:通过对图像像素值取反来实现。
- 对数变换:对图像像素值进行对数变换,以增强图像的低灰度部分细节。
- 幂律变换:对图像像素值进行幂律变换,以增强图像的高灰度部分细节。
最后,我们使用`cv2.imshow()`函数显示了处理后的图像,并使用`cv2.waitKey(0)`等待用户按下任意键关闭窗口。