机器视觉_图像算法(二)——图像增强

目录

γ矫正——对比度计算公式、γ

对比度线性展宽

灰级窗

动态调整

同态滤波

直方图均衡化


有些图网上有,就不重复造轮子,前提已经会造了。

γ矫正——对比度计算公式、γ

 机器视觉_图像算法(二)——图像增强_第1张图片

  • step 1/3  每个小括号的数据是按四近邻计算,比如第一个小括号:以第一行第一列为中心,上下左右分别与这个中心值相减再平方,然后相加,即:

result  = 

机器视觉_图像算法(二)——图像增强_第2张图片\left (1 -2\right )^2+\left(1-3) \right )^2   +

机器视觉_图像算法(二)——图像增强_第3张图片\left (3-1\right )^2+\left(3-1) \right )^2+\left(3-9) \right )^2   +

\left (1-3\right )^2+\left (1-6\right )^2++\left (1-2\right )^2++\left (1-3\right )^2  + 。。。。。。

  • step 2/3   上,统计平方次个数P,即2(四角像素点)*4个+3(四边像素点)*8个+4(普通像素点)*4个,

P=   4*\left ( W-2 \right )*\left\left ( H-2 \right )      +    

          3*\left [ 2*(W-2)+2*(H-2) \right ]     +    

          2*4

  • step 3/3 step1和2: result 除以P,得到对比度值

                                   C_{L}=result/P

机器视觉_图像算法(二)——图像增强_第4张图片

  • 最后,代码实现
'''
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),即:入射*反射

机器视觉_图像算法(二)——图像增强_第5张图片

直方图均衡化

https://www.cnblogs.com/vincentcheng/p/9240285.html

直方图均衡化处理,增加灰度值的动态范围,这样就增加了影像的整体对比效果

 

 

你可能感兴趣的:(#,机器视觉_图像算法,机器视觉)