如何在使用opencv获取蒙版后模糊图像?

2024-06-09 10:07:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我遵循了一个基于颜色分割的模糊图像指南:https://realpython.com/python-opencv-color-spaces/

但是我很难让它模糊原始图像中的尼莫。在

到目前为止,我没有遵循指南:

import matplotlib.pyplot as plt
import cv2

nemo = cv2.imread('nemo.png')
nemo = cv2.cvtColor(nemo, cv2.COLOR_BGR2RGB)
hsv_nemo = cv2.cvtColor(nemo, cv2.COLOR_RGB2HSV)

light_orange = (1, 190, 200)
dark_orange = (18, 255, 255)
light_white = (0, 0, 200)
dark_white = (145, 60, 255)

mask = cv2.inRange(hsv_nemo, light_orange, dark_orange)
mask_white = cv2.inRange(hsv_nemo, light_white, dark_white)
final_mask = mask + mask_white

final_result = cv2.bitwise_and(nemo, nemo, mask=final_mask)
blur = cv2.blur(final_result, (15, 15), 0)

我已经画出了1)nemo,2)final_mask,和3)blur,供比较:Image Result

有没有办法让我把原来照片里的尼莫弄得像这样:Blurred Original Photo

目前它只是模糊了尼莫在面具的形象。在

我想我需要获得一个投资回报率,但我如何形成一个面具和从原始照片获得尼莫的坐标/投资回报率之间的关系?谢谢!在


Tags: 图像import指南maskcv2hsvcolorfinal
1条回答
网友
1楼 · 发布于 2024-06-09 10:07:22

如果你只想在蒙版是真的地方模糊图像,这样的方法就可以了

blur = cv2.blur(nemo,(15,15),0)
out = nemo.copy()
out[mask>0] = blur[mask>0]

但是,您可能需要更改蒙版的生成方式,因为目前它只会模糊鱼的橙色和白色部分。在

相关问题 更多 >