灰度变换,gama变换,对数,反对数变换

本文介绍了灰度变换的基本概念,这是一种常见的图像处理技术,通过改变像素的灰度值来增强图像对比度或实现二值化等效果。灰度变换操作简单且高效,其复杂度通常为O(W*H),适合于各种规模的图像处理任务。

学习DIP第2天     

灰度变换,及按照一定规则对像素点的灰度值进行变换,变换的结果可以增强对比度,或者达到其他的效果(例如二值化,或者伽马变换),由于灰度变换为针对单个像素点的灰度值进行变换,素以算法复杂度一般为O(W*H)(图像宽和高)

完整内容迁移至 https://face2ai.com/DIP-1-2-灰度变换-gama变换-对数-反对数变换/

 http://www.tony4ai.com/DIP-1-2-灰度变换-gama变换-对数-反对数变换/

 

以下是几个Matlab中灰度变换的应用示例: ### 推荐变换类型判断示例 此函根据输入灰度图像的动态范围推荐合适的变换类型。 ```matlab function transform_type = recommend_by_dr(I) % 输入:灰度图像 I (uint8) % 输出:推荐变换类型字符串 dr_norm = (double(max(I(:))) - double(min(I(:)))) / 255; if dr_norm <= 0.2 transform_type = 'linear_stretch_high_gain'; elseif dr_norm <= 0.6 transform_type = 'gamma_correction_unit'; else transform_type = 'log_or_low_gamma'; end end ``` 使用示例: ```matlab % 读取灰度图像 I = imread('your_image.jpg'); % 调用函 transform_type = recommend_by_dr(I); disp(['推荐的变换类型是: ', transform_type]); ``` ### 提高图像对比度示例 下面以提高一幅图片对比度为例,介绍了不同的对比度调整方法。 ```matlab % 载入图像 srcImage = imread('boiler.bmp'); info = imfinfo('boiler.bmp'); subplot(1,3,1); imshow(srcImage); title('原图像'); image1 = imadjust(srcImage,[ ],[ ],0.8); subplot(1,3,2); imshow(image1); title('gamma值调整'); image2 = imadjust(srcImage,stretchlim(srcImage),[],0.8); subplot(1,3,3); imshow(image2); title('stretchlim'); ``` ### 伽马变换增强图像示例 ```matlab %%子函定义 function gama_transform = imageEnhance(image,gama) f_g = mat2gray(image); f_gama = f_g.^gama; max = 255; min = 0; gama_transform = uint8(f_gama*(max - min) + min); end % 使用示例 image = imread('your_image.jpg'); gama = 0.5; % 伽马值 enhanced_image = imageEnhance(image, gama); subplot(1,2,1); imshow(image); title('原图像'); subplot(1,2,2); imshow(enhanced_image); title('伽马变换增强后的图像'); ```
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值