iis wordpress多站点,网站建设合同拟写,wordpress文章编辑器连接七牛云,效果图网站排行榜前十名文章目录 前言一、二分类mask显示二、多分类mask显示 前言
通常情况下#xff0c;使用标注软件标注的标签图看起来都是纯黑的#xff0c;因为mask图为单通道的灰度图#xff0c;而灰度图一般要像素值大于128后#xff0c;才会逐渐显白#xff0c;255为白色。而标注的时候… 文章目录 前言一、二分类mask显示二、多分类mask显示 前言
通常情况下使用标注软件标注的标签图看起来都是纯黑的因为mask图为单通道的灰度图而灰度图一般要像素值大于128后才会逐渐显白255为白色。而标注的时候不同类别的像素值是从123...这样的顺序所以看起来是纯黑的。
一、二分类mask显示
若只是二分类原本像素值就只有0和1的区分那只需要将像素1转换为255即可显示白色可使用inRange函数。 cv::Mat img cv::imread(C:/Users/WA.png,0);cv::Mat img_i;cv::inRange(img, 1, 1, img_i); // 上界和下界都为1即只匹配值为1的像素将值为1的像素设置为白色(255)其余像素为黑色保持不变cv::imshow(img, img);cv::imshow(img_i, img_i);二、多分类mask显示
若存在多个类别就需要给每个类别单独定义一种颜色。彩色图是三通道的mask图是单通道所以这种操作也称为伪彩色映射 代码如下示例 import cv2
import numpy as np
from PIL import Image
import globcolor_map np.zeros((256 * 3)).astype(uint8)
color_map[:3 * 13] np.array([[0, 0, 0], # 0像素还是得为0[41, 43, 204], # 原像素值为1的[6, 128, 245], # 原像素值为2的[36, 159, 67],[41, 43, 204],[190, 104, 145],[75, 86, 135],[195,120,219],[127, 127, 127],[18, 189, 187],[207, 190, 72],[233, 199, 178],[118, 187, 248]],dtypeuint8).flatten()def labeltocolor(mask):imImage.fromarray(mask)im.putpalette(color_map)imnp.array(im.convert(RGB))# cv2.imshow(1,im)# cv2.waitKey()# cv2.destroyAllWindows()return im# 遍历文件夹中的所有图片
image_paths glob.glob(C:/Users/Desktop/train01/01/mask/*.png)
idx 0 # 当前图片索引
num_images len(image_paths) # 图片数量for image_path in image_paths:# 加载单通道遮罩图假设为灰度图mask cv2.imread(image_paths[idx], cv2.IMREAD_GRAYSCALE)# 将遮罩图像应用伪彩色映射mask_color labeltocolor(mask)cv2.imshow(Result, mask_color)key cv2.waitKey(0) if key ord(q): breakelif key ord(n): idx (idx 1) % num_imagescv2.destroyAllWindows()