返回顶部
首页 > 资讯 > 服务器 >计算机视觉--利用HSV和YIQ颜色空间处理图像噪声
  • 271
分享到

计算机视觉--利用HSV和YIQ颜色空间处理图像噪声

计算机视觉人工智能opencv图像处理原力计划 2023-09-07 05:09:18 271人浏览 泡泡鱼
摘要

前言: Hello大家好,我是Dream。 今天我们将利用HSV和YIQ颜色空间处理图像噪声。在本次实验中,我们使用任意一张图片,通过RGB转HSV和YIQ的操作,加入了椒盐噪声并将其转换回RG

在这里插入图片描述

前言: Hello大家好,我是Dream。 今天我们将利用HSV和YIQ颜色空间处理图像噪声。在本次实验中,我们使用任意一张图片,通过RGB转HSV和YIQ的操作,加入了椒盐噪声并将其转换回RGB格式,最终实现对图像的噪声处理。一起来看看吧~

1.导入库函数

首先,我们导入需要的库。包括numpy用于处理数组数据,cv2用于图像处理,matplotlib用于可视化展示。

import numpy as npimport cv2from matplotlib import pyplot as plt

2.导入原图

接下来,我们导入原始图像,并将其转换为RGB格式以便于显示。

img = cv2.imread('test.jpg')img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)

3.显示原图

然后,我们使用matplotlib将原始RGB图像显示出来。

plt.imshow(img)plt.title('Original RGB image')plt.show()

在这里插入图片描述

4.将RGB图像转换为HSV和YIQ格式

我们使用cv2中的cvtColor函数将RGB图像转换为HSV和YIQ格式。COLOR_RGB2HSV和COLOR_RGB2YCrCb表示转换为对应格式。

img_hsv = cv2.cvtColor(img,cv2.COLOR_RGB2HSV)img_yiq = cv2.cvtColor(img,cv2.COLOR_RGB2YCrCb)

5.在HSV的H通道加入椒盐噪声

在HSV格式的图像中,我们选择了H通道。通过随机选择像素点的方式,在该像素点的H通道上加入椒盐噪声。具体操作是将该像素点的H值设置为255。

img_hsv_salt = img_hsv.copy()# 获取图像行数、列数和通道数信息rows, cols, _ = img_hsv_salt.shape# 在图像上随机选择100个像素点,并将其H通道值设置为255,模拟椒盐噪声for i in range(100):    x = np.random.randint(0, rows)    y = np.random.randint(0, cols)        # 将选定像素点的H通道值设为255    img_hsv_salt[x, y][0] = 255img_hsv_salt = img_hsv.copy()# 获取图像行数、列数和通道数信息rows, cols, _ = img_hsv_salt.shape# 在图像上随机选择100个像素点,并将其H通道值设置为255,模拟椒盐噪声for i in range(100):    x = np.random.randint(0, rows)    y = np.random.randint(0, cols)        img_hsv_salt[x, y][0] = 255

6.在YIQ的Y通道加入椒盐噪声

在YIQ格式的图像中,我们选择了Y通道。同样的方式,通过随机选择像素点的方式,在该像素点的Y通道上加入椒盐噪声。

img_yiq_salt = img_yiq.copy()for i in range(100):    x = np.random.randint(0,rows)    y = np.random.randint(0,cols)    img_yiq_salt[x,y][0] = 255

7.将加入椒盐噪声的H通道、Y通道分别显示

接下来,我们分别显示加入了椒盐噪声的HSV和YIQ格式图像的H通道。使用matplotlib的imshow函数,并将显示效果设置为灰度图。

plt.imshow(img_hsv_salt[:,:,0], cmap='gray')plt.title('Salt & Pepper noise on H channel of HSV')plt.show()plt.imshow(img_yiq_salt[:,:,0], cmap='gray')plt.title('Salt & Pepper noise on Y channel of YIQ')plt.show()

在这里插入图片描述
在这里插入图片描述

8.合成加入椒盐噪声的HSV、YIQ格式图像

我们将加入了椒盐噪声的HSV、YIQ格式的图像分别转换回RGB格式,方便后续显示。

img_hsv_salt = cv2.cvtColor(img_hsv_salt,cv2.COLOR_HSV2RGB)img_yiq_salt = cv2.cvtColor(img_yiq_salt,cv2.COLOR_YCrCb2RGB)

9.分别将R、G、B通道显示

接下来,我们分别显示原始RGB图像的R、G、B通道。使用matplotlib的imshow函数,并将显示效果设置为灰度图。

fig, axs = plt.subplots(nrows=1, ncols=3, figsize=(12, 4))axs[0].imshow(img[:,:,0], cmap='gray')axs[0].set_title('R')axs[1].imshow(img[:,:,1], cmap='gray')axs[1].set_title('G')axs[2].imshow(img[:,:,2], cmap='gray')axs[2].set_title('B')plt.show()

在这里插入图片描述

10.分别将H、S、V通道显示

接下来,我们分别显示加入椒盐噪声的HSV图像的H、S、V通道。其中,H通道使用hsv色彩空间来显示,而S和V通道使用灰度图来显示。

fig, axs = plt.subplots(nrows=1, ncols=3, figsize=(12, 4))axs[0].imshow(img_hsv[:,:,0], cmap='hsv')axs[0].set_title('H')axs[1].imshow(img_hsv[:,:,1], cmap='gray')axs[1].set_title('S')axs[2].imshow(img_hsv[:,:,2], cmap='gray')axs[2].set_title('V')plt.show()

在这里插入图片描述

11.显示加入椒盐噪声的HSV、YIQ格式图像

接下来,我们使用matplotlib显示加入椒盐噪声的HSV和YIQ格式的图像。

fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(12, 6))axs[0].imshow(img_hsv_salt)axs[0].set_title('Salt & Pepper noise on H channel of HSV')axs[1].imshow(img_yiq_salt)axs[1].set_title('Salt & Pepper noise on Y channel of YIQ')plt.show()

在这里插入图片描述

12.将合成的加入椒盐噪声的HSV、YIQ格式图像分别转换为RGB格式并显示

最后,我们将加入了椒盐噪声的HSV和YIQ格式的图像转换回RGB格式,并使用matplotlib进行显示。

img_hsv_salt_rgb = cv2.cvtColor(img_hsv_salt,cv2.COLOR_RGB2BGR)img_yiq_salt_rgb = cv2.cvtColor(img_yiq_salt,cv2.COLOR_RGB2BGR)plt.imshow(img_hsv_salt_rgb)plt.title('Salt & Pepper noise on H channel of HSV RGB')plt.show()plt.imshow(img_yiq_salt_rgb)plt.title('Salt & Pepper noise on Y channel of YIQ RGB')plt.show()

在这里插入图片描述
在这里插入图片描述

13.总结

在本文中,我们使用RGB转HSV和YIQ的操作,通过加入椒盐噪声并将其转换回RGB格式,对图像进行了噪声处理。我们展示了原始RGB图像以及其R、G、B通道的显示,接着将图像转换为HSV和YIQ格式,并在H通道和Y通道中分别加入了椒盐噪声。然后,我们将加入了噪声的H、S、V通道以及Y通道进行了显示。最后,我们展示了加入椒盐噪声的HSV和YIQ格式图像,并将它们转换回RGB格式进行显示。

通过这样的操作,我们可以进一步了解颜色空间转换在图像处理中的应用,以及如何通过加入噪声来模拟图像中的实际场景。此外,我们还探索了如何通过转换回RGB格式来展示噪声处理后的图像。这些技术在图像去噪、图像增强和其他相关领域中具有重要的应用价值。这些方法对于从图像中去除噪声以及提高图像视觉效果具有重要意义,并且可以在许多实际应用中发挥作用。

本期推荐:
Python从入门到精通(购买通道)
在这里插入图片描述

IT今日热榜http://itoday.top/
在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_51390582/article/details/131928801

--结束END--

本文标题: 计算机视觉--利用HSV和YIQ颜色空间处理图像噪声

本文链接: https://lsjlt.com/news/397702.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作