MATLAB中基于对数变换的随机图像生成与直方图分析

clear all; close all;
m = 256; n = 256;
a = 0.04;
k = -1 / a;
I = k * log(1 - rand(m, n));
figure;
subplot(121);
imshow(uint8(I));
title('Generated Image with Logarithmic Intensity');
subplot(122);
imhist(uint8(I));
title('Histogram of Generated Image');

解释:

  • clear all; close all;:清空工作空间中的所有变量并关闭所有图形窗口。

  • m = 256; n = 256;:定义图像的大小为256x256像素。

  • a = 0.04;:定义一个常数a,用于控制生成图像的对比度。

  • k = -1 / a;:计算常数k,它是a的倒数乘以-1。

  • I = k * log(1 - rand(m, n));:生成一个256x256的图像矩阵I,其中每个像素的值通过对数变换得到,变换基于1 - rand(m, n)rand(m, n)生成一个在0到1之间的随机矩阵。

  • figure;:创建一个新的图形窗口。

  • subplot(121); imshow(uint8(I));:在第一个子图(1,2,1)中以uint8格式显示生成的图像I

  • subplot(122); imhist(uint8(I));:在第二个子图(1,2,2)中显示生成图像的直方图。

拓展:

  1. 保存图像和直方图:可以将生成的图像和它的直方图保存为文件。
% 保存生成的图像和直方图
imwrite(uint8(I), 'log_intensity_image.png');
figure;
subplot(121);
imshow(uint8(I));
title('Generated Image with Logarithmic Intensity');
subplot(122);
imhist(uint8(I));
title('Histogram of Generated Image');
saveas(gcf, 'histogram_of_log_intensity_image.png');
  1. 分析图像特性:可以进一步分析生成图像的特性,比如通过计算图像的均值和方差。

  2. 修改对比度参数:可以尝试使用不同的对比度参数a,来观察对图像的影响。

  3. 使用不同的随机数分布:可以尝试使用不同的随机数分布,如正态分布等,来生成图像。

  4. 比较不同对比度参数的影响:可以比较不同对比度参数a对生成图像的影响,以评估不同参数对图像特性的影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿斯弗的撒旦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值