iT邦幫忙

0

Python mask影像處理

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20230218/20106033mJ9qJLAm7y.png

https://ithelp.ithome.com.tw/upload/images/20230220/20106033w7nAGeznZQ.png
想請問如何把mask的部分平滑化,把波浪紋去掉,
我看資料處理可以把他們平滑化,但圖片類型我想到分水嶺的方式處理,
但效果不太好,還有什麼辦法?

舉例把綠色的部分去掉,或是把紅色的地方填滿。

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
JamesDoge
iT邦高手 1 級 ‧ 2023-02-19 08:59:31

不知道是不是你要的
以使用 OpenCV 中的 cv2.GaussianBlur() 函數實現高斯模糊。方式如下:

import cv2
import numpy as np

# 讀取 mask 圖像
mask = cv2.imread('mask.png', 0)

# 高斯模糊
mask_blur = cv2.GaussianBlur(mask, (11, 11), 0)

# 二值化處理
_, mask_thresh = cv2.threshold(mask_blur, 128, 255, cv2.THRESH_BINARY)

# 顯示結果
cv2.imshow('mask', mask)
cv2.imshow('mask_blur', mask_blur)
cv2.imshow('mask_thresh', mask_thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()

謝謝樓上。

alanotmt iT邦新手 4 級 ‧ 2023-02-20 09:14:56 檢舉

https://ithelp.ithome.com.tw/upload/images/20230220/20106033gjzr1D4boY.png

可能我沒圖比較難想像~我的目標是舉例綠色的部分去掉,或是像紅色的部分填滿,盡可能讓波浪消失

我要發表回答

立即登入回答