图像处理 | 您所在的位置:网站首页 › python将图像一条边拉伸 › 图像处理 |
图像领域:拉伸即:灰度图拉伸,与直方图均衡化类似,但是也不同!!! 线性拉伸:1)直接线性拉伸;2)裁剪线性拉伸;3)分段式拉伸。 1)直接线性拉伸:(直接归一化,然后放缩到指定大小范围) 代码: import cv2 import numpy as np gray=np.float( cv2.imread(**) ) gray_new=( gray-gray.min() ) / ( gray.max()-gray.min() ) # 归一化到0-1 maxout=255 minout=0gray_out=gray_new * (maxout -minout) # maxout=255 minout=0 gray_out=np.uint8( gray_out ) 2)裁剪线性拉伸:(去掉2%百分位以下的数,去掉98%百分位以上的数,上下百分位数一般相同,并设置输出上下限) import cv2 import numpy as np gray=np.float( cv2.imread(**) ) d2=np.percentile( gray,2 ) u98=np.percentile( gray,98 ) maxout=255 minout=0 gray_new=minout + ( (gray-d2) / (u98-d2) ) * (maxout - minout) gray_new[gray_new < minout]=minout gray_new[gray_new > maxout]=maxout gray_out=np.uint8(gray_new) 3)分段式 线性拉伸(百度图片) 分段数学公式,按照公式求出前后灰度 即: (横轴:拉伸前灰度,纵轴:拉伸后灰度,一一对应)。 #################################################### envi 中对应的线性拉伸实现: 线性拉伸 2%: 即: 2)裁剪线性拉伸 ENVI对打开的一幅遥感影像默认是2%的线性拉伸,当然只是显示效果发生变化,亮度得到提升,但是像元值并没有发生改变;这里的Linear2%是指将直方图累积在2%至98%之间的像元值拉伸,取直方图累积在2%处对应的光谱值为MinValue,98%处对应的光谱值为MaxValue,那么可解释为如果像元值大于MinValue且小于MaxValue,则将其拉伸至0-255;如果像元值小于MinValue,那么将其改为MinValue;如果像元值大于MaxValue,那么将其改为255。线性拉伸 0-255:即:1)直接线性拉伸 #################################################### |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |