繁体   English   中英

在 opencv python 中更改图像的 hsv 值不起作用

[英]changing hsv values of an image in opencv python isnt working

我试图在 opencv python 中设置图像的 HSV 的最小值和最大值,但在运行代码后,我只能看到一个空白的矩形框。

import cv2
import sys
import numpy as np

# Load in image
image = cv2.imread('power.jpg')


# Set minimum and max HSV values to display
lower = np.array([0, 209, 0])
upper = np.array([179, 255, 236])

# Create HSV Image and threshold into a range.
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
mask = cv2.inRange(hsv, lower, upper)
output = cv2.bitwise_and(image,image, mask= mask)


# Display output image
cv2.imshow('image',output)

我能够解决它。

import numpy as np
import cv2

img = cv2.imread( "power.jpg" )

## convert to hsv
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

## mask of red (36,0,0) ~ (70, 255,255)
mask = cv2.inRange(hsv, (0, 209, 0), (179, 255,236))
bak = img.copy()

# Show only red
#bak[mask > 0] = (0, 0, 255)
imask = mask>0
green = np.zeros_like(img, np.uint8)
green[imask] = img[imask]

## save 
cv2.imwrite("image.png", green)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM