目录
γ矫正——对比度计算公式、γ
对比度线性展宽
灰级窗
动态调整
同态滤波
直方图均衡化
有些图网上有,就不重复造轮子,前提已经会造了。
result =
'''
author: dongjinhua
data: 2010908
function: γ矫正——对比度计算
'''
import cv2
import numpy as np
def contrast(input):
img1 = cv2.cvtColor(input, cv2.COLOR_BGR2GRAY) #彩色转为灰度图片
m, n = img1.shape
# 核心一——图片矩阵向外扩展一个像素
img1_ext = cv2.copyMakeBorder(img1,1,1,1,1,cv2.BORDER_REPLICATE)
rows_ext,cols_ext = img1_ext.shape
b = 0.0
for i in range(1,rows_ext-1):
for j in range(1,cols_ext-1):
b += ((img1_ext[i,j]-img1_ext[i,j+1])**2 + (img1_ext[i,j]-img1_ext[i,j-1])**2 +
(img1_ext[i,j]-img1_ext[i+1,j])**2 + (img1_ext[i,j]-img1_ext[i-1,j])**2) # 核心二——四邻域计算相邻像素差平方和
cg = b/(4*(m-2)*(n-2)+3*(2*(m-2)+2*(n-2))+2*4) # 核心三——对应上面48的计算公式——四角+四边+普通
print(cg)
print()
if __name__ == "__main__":
src = cv2.imread('src.bmp')
contrast(src)
pass
——目标加强,背景削弱,【0,255】——>>【0-fa】=α比例抑制,【fa,fb】=按比例β增强,【fb,255】=γ比例抑制
%图像关注区域的像素范围[fa,fb]由beld扩展到[ga,gb],
% [0,fa]由alf控制
% [fb,255]由gamma
% alf<1,beld>1,gamma<1
% fb-fa
%% 灰级窗
% @matrix -- 输入的图像为灰度图
% 原理:只对[fa,fb]映射到[0,255]
function G = m_GrayWindow(matrix,fa,fb)
[row,col] = size(matrix);
beld = 255/(fb-fa);%对图像素
G = zeros(row,col);
%G = matrix;
for i=1:row
for j=1:col
if (matrix(i,j)>=fa) && (matrix(i,j)
——突然进去黑暗空间的适应调整【0,255】——>>【0-fa】=0,【fa,fb】=按比例缩放,【fb,255】=255
——基于光图像成像原理模型:f(x,y)=i(x,y)*r(x,y),即:入射*反射
https://www.cnblogs.com/vincentcheng/p/9240285.html
直方图均衡化处理,增加灰度值的动态范围,这样就增加了影像的整体对比效果