簡體   English   中英

在Open CV中為彩色圖像應用蒙版

[英]Applying mask for coloured image in Open cv

我應該在下面的代碼中進行哪些更改,以便如果我知道綠色的HSV值,則應該獲得不包含綠色的圖像段作為輸出?

我正在處理的圖像是: 源圖像

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

img = cv2.imread("sun.jpg")
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

mask = cv2.inRange(hsv, (36, 25, 25), (70, 255,255))         ## mask of green (36,25,25) ~ (86, 255,255)

imask = mask>0      ## slice the green
green = np.zeros_like(img, np.uint8)
green[imask] = img[imask]

cv2.imshow('image ',green)
cv2.waitKey(0)
cv2.imwrite("green1.png", green)     ##saving

實際輸出:是唯一的綠色部分
預期輸出:綠色部分除外

你應該換線

green[imask] = img[imask]

green = img[!imask] # not of mask to get non-green regions in image

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM