zoukankan      html  css  js  c++  java
  • 灰度级分层(一些基本的灰度变换函数)基本原理及Python实现

    1. 基本原理

    灰度级分层通常用于突出感兴趣的特定灰度范围内的亮度。灰度级分层有两大基本方法。

    • 将感兴趣的灰度范围内的值显示为一个值(比如0),而其他范围的值为另外一个值(255)。
    • 将感兴趣的灰度范围内的值显示为一个值(比如0),而其他范围的值不变。

    2. 测试结果

    图源自skimage

    3. 代码

     1 def grayscale_layer(input_image, spotlight_range_min, spotlight_range_max, means):
     2     '''
     3     灰度级分层
     4     :param input_image: 原图像
     5     :param spotlight_range_min: 所突出的灰度级范围最小值
     6     :param spotlight_range_max: 所突出的灰度级范围最大值
     7     :param means: 分层方式(1,2)
     8     :return: 灰度级分层后的图像
     9     '''
    10     input_image_cp = np.copy(input_image) # 输入图像的副本
    11 
    12     if means == 1: # 方式一(突出指定范围内255,并且变暗非范围内0)
    13         input_image_cp = np.where((input_image_cp >= spotlight_range_min) & (input_image_cp <= spotlight_range_max), 255, 0)
    14     elif means == 2: # 方式二(仅突出指定范围内255)
    15         input_image_cp[np.where((input_image_cp >= spotlight_range_min) & (input_image_cp <= spotlight_range_max))] = 255
    16     else:
    17         print("please enter the number of means from 1 to 2")
    18         return
    19 
    20     output_image = input_image_cp
    21 
    22     return output_image
  • 相关阅读:
    添加coreseek中文分词
    linux 常用处理命令
    rewrite nginx
    判断浏览器类型
    Cookie 读写类
    Php 异常处理 exception
    C++实验:时间和日期类
    数据结构:删除链表元素
    数据结构-循环单链表
    TOJ-5395 大于中值的边界元素
  • 原文地址:https://www.cnblogs.com/iwuqing/p/11297266.html
Copyright © 2011-2022 走看看