跟我学Python图像处理丨何为图像的灰度非线性变换

跟我学Python图像处理丨何为图像的灰度非线性变换

摘要:本文主要讲解灰度线性变换,基础性知识希望对您有所帮助。

本文分享自华为云社区《[Python图像处理] 十六.图像的灰度非线性变换之对数变换、伽马变换》,作者:eastmount 。

本篇文章主要讲解非线性变换,使用自定义方法对图像进行灰度化处理,包括对数变换和伽马变换。

一.图像灰度非线性变换

图像的灰度非线性变换主要包括对数变换、幂次变换、指数变换、分段函数变换,通过非线性关系对图像进行灰度处理,下面主要讲解三种常见类型的灰度非线性变换。

原始图像的灰度值按照DB=DA×DA/255的公式进行非线性变换,其代码如下:

# -*- coding: utf-8 -*-
import cv2  
import numpy as np  
import matplotlib.pyplot as plt
#读取原始图像
img = cv2.imread("miao.png")
#图像灰度转换
grayImage = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#获取图像高度和宽度
height = grayImage.shape[0]
width = grayImage.shape[1]
#创建一幅图像
result = np.zeros((height, width), np.uint8)
#图像灰度非线性变换:DB=DA×DA/255
for i in range(height):
 for j in range(width):
 gray = int(grayImage[i,j])*int(grayImage[i,j]) / 255
 result[i,j] = np.uint8(gray)
#显示图像
cv2.imshow("Gray Image", grayImage)
cv2.imshow("Result", result)
#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 跟我学Python图像处理丨何为图像的灰度非线性变换