图像二值化及相反二值化,包括图像缩放的函数和代码
时间: 2024-04-09 22:32:14 浏览: 19
图像二值化是将图像中的像素值转换为二值(0或255)的过程,常用于物体检测、边缘检测等应用。相反二值化则是将二值化后的图像进行反转,即将黑色像素变为白色,白色像素变为黑色。
以下是使用Python和OpenCV库进行图像二值化和相反二值化的代码示例:
```python
import cv2
# 图像二值化
def image_binarization(image):
# 将图像转换为灰度图
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 使用自适应阈值方法进行二值化
_, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
return binary
# 图像相反二值化
def image_inverse_binarization(image):
# 将图像转换为灰度图
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 使用自适应阈值方法进行二值化
_, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)
return binary
# 图像缩放
def image_rescale(image, scale_percent):
# 计算缩放后的宽度和高度
width = int(image.shape[1] * scale_percent / 100)
height = int(image.shape[0] * scale_percent / 100)
# 缩放图像
resized = cv2.resize(image, (width, height), interpolation=cv2.INTER_AREA)
return resized
# 读取图像
image = cv2.imread('image.jpg')
# 图像二值化
binary_image = image_binarization(image)
# 图像相反二值化
inverse_binary_image = image_inverse_binarization(image)
# 图像缩放
rescaled_image = image_rescale(image, 50) # 缩放比例为50%
# 显示图像
cv2.imshow('Original Image', image)
cv2.imshow('Binary Image', binary_image)
cv2.imshow('Inverse Binary Image', inverse_binary_image)
cv2.imshow('Rescaled Image', rescaled_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
请确保在运行代码之前已经安装了OpenCV库,并将'image.jpg'替换为你自己的图像路径。在代码中,`image_binarization`函数使用自适应阈值方法进行图像二值化,`image_inverse_binarization`函数将二值化后的图像进行反转,`image_rescale`函数用于图像缩放。最后,使用`cv2.imshow()`函数显示原始图像、二值化图像、相反二值化图像和缩放后的图像。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)