import cv2
import numpy as np
import os
import random
from PIL import Image
import matplotlib.pyplot as plt
# 将mask绘制在原图
def draw_image(im,ms,brg,opacity):
image_mask = im.copy()
contours, _ = cv2.findContours(ms, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE) # 查找轮廓
image_mask = cv2.drawContours(image_mask, contours, -1, (0, 255, 0), 2) # 绘制边界
image_mask = cv2.fillPoly(image_mask, contours, color=brg) # 填充
img_bgr = cv2.addWeighted(im, opacity, image_mask, 1 - opacity, 0)
return im,ms,img_bgr
def main(imagePath,labelPath,bgr,opacity):
image = np.array(Image.open(imagePath).convert('RGB'))
label = np.array(Image.open(labelPath).convert('L'))
a,b,c = draw_image(image,label,bgr,opacity)
plt.figure(figsize=(12,8))
for index,i in enumerate((a,b,c)):
plt.subplot(1,3,index+1)
plt.imshow(i)
plt.savefig('./result.png')
# plt.show()
if __name__ == '__main__':
root = './data/test/images'
images_path = [os.path.join(root,i) for i in os.listdir(root)]
r = random.randint(0,len(images_path)-1)
img_path = images_path[r] # 随机取出一张图片
mask_path = img_path.replace('images','masks')
mask_path = mask_path.replace('.jpg','.png')
# opacity 越小,掩膜效果越深
main(imagePath=img_path, labelPath=mask_path,bgr=(0,0,255),opacity=0.5)
听风吹等浪起
- 粉丝: 2w+
- 资源: 2320
最新资源
- 基于知识图谱的推荐模型详细文档+全部资料+优秀项目.zip
- 基于知识图谱的书籍推荐的问答系统及可视化详细文档+全部资料+优秀项目.zip
- 基于知识图谱的心血管疾病问答系统详细文档+全部资料+优秀项目.zip
- 基于知识图谱的中药方剂可视化及问答系统详细文档+全部资料+优秀项目.zip
- 基于知识图谱技术优化漏洞检索-最初版本详细文档+全部资料+优秀项目.zip
- 机械设计SCARA机器人贴标机sw18可编辑全套设计资料100%好用.zip
- 机械设计SIM卡组装自动机sw18可编辑全套设计资料100%好用.zip
- 机械设计SATA7+6PIN自动检测包装机sw18可编辑全套设计资料100%好用.zip
- 机械设计W1300X L2000X H700动力辊道输送机sw20可编辑全套设计资料100%好用.zip
- 基于 vue + python + 树莓派的媒体播放器全部资料+详细文档+高分项目.zip
- 毕业设计,基于树莓派的远程温度监控系统设计全部资料+详细文档+高分项目.zip
- 基于 树莓派 的项目,天气实况、天气预报,实时温度、湿度、空气污染指数,自带中文语音播报,根据思科 EA 系列路由器,实现自动门禁功能。全部资料+详细文档+高分项目.zip
- 基于FLASK与opencv树莓派版本的简单直播系统,全部资料+详细文档+高分项目.zip
- 基于GPPO算法的树莓派小车路径规划全部资料+详细文档+高分项目.zip
- 基于Java编写的基于树莓派的电子墨水屏相册全部资料+详细文档+高分项目.zip
- 基于Picoprobe的树莓派pico调试器全部资料+详细文档+高分项目.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈