opencv python在灰度图加上半透明矩形框
时间: 2023-11-25 16:51:18 浏览: 41
以下是在灰度图上加上半透明矩形框的示例代码:
```python
import cv2
import numpy as np
# 读取灰度图
img = cv2.imread('gray_image.jpg', cv2.IMREAD_GRAYSCALE)
# 将灰度图转换为彩色图
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
# 定义半透明颜色
color = (98, 9, 11)
alpha = 0.5
# 画矩形框
zeros = np.zeros_like(img)
for label in dict['shape']:
points = np.array(label['points'], dtype=np.int32)
cv2.fillPoly(zeros, [points], color=color)
mask = cv2.addWeighted(zeros, alpha, img, 1 - alpha, 0)
# 显示图像
cv2.imshow('image', mask)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite('transparent_rect.jpg', mask)
```
相关问题
opencv python在灰度图上画半透明矩形框
以下是使用OpenCV在灰度图上画半透明矩形框的示例代码:
```python
import cv2
import numpy as np
# 读取灰度图像
img = cv2.imread('gray_image.jpg', 0)
# 将灰度图像转换为彩色图像
img_color = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
# 创建一个与图像大小相同的全零图像
zeros = np.zeros_like(img_color, dtype=np.uint8)
# 定义矩形框的坐标
x, y, w, h = 100, 100, 200, 150
# 在全零图像上绘制矩形框
cv2.rectangle(zeros, (x, y), (x + w, y + h), (98, 9, 11), -1)
# 将全零图像与原图像进行加和
result = cv2.addWeighted(img_color, 0.5, zeros, 0.5, 0)
# 显示结果图像
cv2.imshow('Result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
opencv python在灰度图上加透明掩膜
在OpenCV-Python中,可以在灰度图像上应用透明掩膜。下面是一个演示的例子:
```python
import cv2 as cv
import numpy as np
# 读取灰度图像和掩膜图像
img_gray = cv.imread('gray_image.jpg', 0)
mask = cv.imread('mask_image.jpg', 0)
# 将掩膜图像转换为二值图像
ret, mask_binary = cv.threshold(mask, 127, 255, cv.THRESH_BINARY)
# 创建一个与灰度图像相同大小的全黑图像
result = np.zeros_like(img_gray)
# 将灰度图像中掩膜为白色的像素复制到结果图像中
result[mask_binary == 255] = img_gray[mask_binary == 255]
# 显示结果图像
cv.imshow('Result', result)
cv.waitKey(0)
cv.destroyAllWindows()
```
这个例子中,我们首先读取了灰度图像和掩膜图像。然后,我们将掩膜图像转换为二值图像,其中掩膜为白色的像素被设置为255,其他像素被设置为0。接下来,我们创建一个与灰度图像相同大小的全黑图像,并将灰度图像中掩膜为白色的像素复制到结果图像中。最后,我们显示结果图像。