作者 | 杨秀璋
来源 | CSDN博客
责编 | 夕颜
头图 | 付费下载自视觉中国
出品 | CSDN(ID:CSDNnews)
本篇文章主要讲解非线性变换,使用自定义方法对图像进行灰度化处理,包括对数变换和伽马变换。本文主要讲解灰度线性变换,基础性知识希望对你有所帮助。
1.图像灰度非线性变换:DB=DA×DA/255
2.图像灰度对数变换
3.图像灰度伽玛变换
图像灰度非线性变换:DB=DA×DA/255
图像的灰度非线性变换主要包括对数变换、幂次变换、指数变换、分段函数变换,通过非线性关系对图像进行灰度处理,下面主要讲解三种常见类型的灰度非线性变换。
原始图像的灰度值按照DB=DA×DA/255的公式进行非线性变换,其代码如下:
1# -*- coding: utf-8 -*-
2import cv2
3import numpy as np
4import matplotlib.pyplot as plt
5
6#读取原始图像
7img = cv2.imread('miao.png')
8
9#图像灰度转换
10grayImage = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
11
12#获取图像高度和宽度
13height = grayImage.shape[0]
14width = grayImage.shape[1]
15
16#创建一幅图像
17result = np.zeros((height, width), np.uint8)
18
19#图像灰度非线性变换:DB=DA×DA/255
20for i in range(height):
21 for j in range(width):
22 gray = int(grayImage[i,j])*int(grayImage[i,j]) / 255
23 result[i,j] = np.uint8(gray)
24
25#显示图像
26cv2.imshow("Gray Image