首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >灰度分层

灰度分层

作者头像
裴来凡
发布2022-05-28 16:45:45
发布2022-05-28 16:45:45
1.3K00
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
复制
import cv2
import numpy as np
from skimage import data,color
from matplotlib import pyplot as plt
img=cv2.imread('C:/Users/xpp/Desktop/Lena.png')#原始图像
cv2.imshow("original",img)
grayimg=color.rgb2gray(img)#将彩色图片转换为灰度图片
rows,cols=grayimg.shape
labels=np.zeros([rows,cols])
for i in range(rows):
    for j in range(cols):
        if(grayimg[i,j]<0.4):
            labels[i,j]=0
        elif(grayimg[i,j]<0.8):
            labels[i,j]=1
        else:
            labels[i,j]=2
psdimg=color.label2rgb(labels)#灰度分层
cv2.imshow("result",psdimg)        
cv2.waitKey()
cv2.destroyAllWindows()

算法:灰度分层是按照灰度值范围划分为不同的层级,然后给每个层级赋予不同的颜色,从而增强不同层级的对比度。灰度分层技术将灰度图像转换为伪彩色图像,且伪彩色图像的颜色种类数目与强度分层的数目一致。

令f(x,y)为位于空间位置(x,y)处的像素的灰度值(强度),[0,L]为图像灰度值范围,其中0代表黑色,L代表白色。

假定分割值为:

l1,l2,l3…,lM(0<l1<l2<l3<…<lM<L)

则将图像灰度划分为M+1个区间V1,V2,V3,…,VM,VM+1。

灰度值到彩色的映射关系为:

f(x,y)=ck

f(x,y)∈V k(k∈[1,M+1])

其中,ck是与第k个灰度区间Vk有关的颜色。

灰度区间[0,l1)被映射为颜色c1,灰度区间[l1,l2)被映射为颜色c2,灰度区间[lM-1,lM)被映射为颜色cM,灰度区间[lM,L]被映射为颜色cM+1。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图像处理与模式识别研究所 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档