opencv图像处理

首先导入库

import cv2
from matplotlib import pyplot as plt
import numpy as np

原图像
在这里插入图片描述
读取图像并处理

img_path = "      "
img = cv2.imread(img_path)
print(img.shape)

 
>>>(960, 1280, 3)

图像的尺寸为960 x 1280像素。当我们要在读取过程后打印尺寸时,我们看到960x1280x3的结果。因此,根据图像的尺寸创建了一个矩阵,并为该矩阵分配了图像每个像素的值。RGB有3个维度,因为图像是彩色的。

如果我们想将图像转换为黑白图像,则使用cvtColor函数。

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

如果要查看由于该函数而发生的更改,可以使用matplotlib中的imshow函数。

gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(gray_image)
plt.show()
print(gray_image.shape)
 
 
>>>(960, 1280)

在这里插入图片描述
我们已将图像转换为黑白图像。当我们检查其尺寸时,不再有3个尺寸。
当查看图像的矩阵值时,我们看到它由0到255之间的值组成。在某些情况下,我们可能希望此矩阵仅由0到255的值组成[3]。在这种情况下使用阈值功能。

(thresh, blackAndWhiteImage) = cv2.threshold(gray_image, 20, 255, cv2.THRESH_BINARY)
(thresh, blackAndWhiteImage) = cv2.threshold(gray_image, 80, 255, cv2.THRESH_BINARY)
(thresh, blackAndWhiteImage) = cv2.threshold(gray_image, 160, 255, cv2.THRESH_BINARY)
(thresh, blackAndWhiteImage) = cv2.threshold(gray_image, 200, 255, cv2.THRESH_BINARY)
plt.imshow(blackAndWhiteImage)
plt.show()

在这里插入图片描述
OpenCV中阈值功能所需的第一个参数是要处理的图像。以下参数是阈值。第三个参数是我们要分配超出阈值的矩阵元素的值。可以在图3中看到四个不同阈值的影响。在第一张图像(图像1)中,该阈值确定为20.将20之上的所有值分配给255.其余值为设置为0。这仅允许黑色或非常深的颜色为黑色,而所有其他阴影直接为白色。图像2和图像3的阈值分别为80和160.最后,在图像4中将阈值确定为200.与图像1不同,白色和非常浅的颜色被指定为255,而所有在图4中将剩余值设置为0。
图像处理中使用的另一种方法是模糊。这可以通过多个功能来实现。

output2 = cv2.blur(gray_image, (10, 10))
plt.imshow(output2)
plt.show()

具有模糊功能的模糊图像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值