matlab 灰度变换函数

请问,matlab中的灰度变换函数是什么,格式怎样?

就是已知一灰度变换曲线的函数表达式,用什么语句可以让原图像按这个曲线进行灰度变换?
题目是这样的:
已知图像路径为E:\Fig1a.jpg,灰度变换曲线为E1(s)=int[(255s)1/2+0.5],设L=256,要求对图像按曲线进行灰度变换。麻烦大家帮我写下程序,会加分的。

灰度变换函数

%-----------------------------------------------------
I = imread('coins.png');
I = im2double(I);
[row, col] = size(I);

figure(1);
subplot(2, 2, 1);
imshow(I); title('原图');

figure(2);
[H, x] = imhist(I, 64);%计算64个小区间的灰度直方图
stem(x, (H/row/col), '.'); title('原图');

%-----------------------------------------------------
% Db = f(Da) = fa * Da + fb
% fa > 1 时, 输出图像的对比度将增大; 当fa < 1时, 对比度减小.
% 当fa = 1, fb != 0时, 操作使所有像素的灰度值上下移, 整个图
% 变得更亮或者更暗

%增加对比度
Fa = 2; Fb = -55;
o = Fa .* I + Fb / 255;

figure(1);
subplot(2, 2, 3);
imshow(o); title('Fa = 2; Fb = -55;');

%相反显示
Fa = -1; Fb = 255;
o = Fa .* I + Fb / 255;

figure(1);
subplot(2, 2, 4);
imshow(o); title('Fa = -1; Fb = 255;');

温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-04
首先将图像转化为灰度图像,然后用亮度变换函数;
程序如下:f=imread('E:\Fig1a.jpg');
a=im2double(rgb2gray(f));
m=mean2(a);E1=int(255*1/2+0.5)
g=1./(1+(m./a+eps)).^E1)
第2个回答  推荐于2018-02-12
彩图变灰度图 rgb2gray

已知变换曲线的话 直接将原始图的灰度值代入函数式进行变换即可
需要注意的是图形数据类型

I = imread('E:\Fig1a.jpg');
[d1,d2,d3] = size(I);
if(d3 > 1)
I = rgb2gray(I);%如果是灰度图就不用先变换
end
I = double(I) / 255;
I1 = uint8(255 * I * 0.5 + 0.5);
imshow(I1);imwrite(I,'test.jpg')本回答被提问者和网友采纳

2、灰度变换函数
对比度拉伸 变换函数为 matlab 中实现为 interp1 实现灰度映射的变换。nargin 检测输入到函数的参量数目。 nargout 检测函数输出的参量数目。 nargchk 能够检测函数中传递参量的数目是否正确。当 number 小于 low 或大于 high 时,会报错。varargin 和 varargout 可用来接收可变的输入和输...

一、图像灰度变换和直方图
配备PC计算机与MATLAB软件,包括图像处理工具箱。实验所需图片可自MATLAB自带素材库或自行准备。三、实验原理:空间域处理直接作用于图像像素,分为灰度级变换与空间滤波。灰度级变换如亮度函数简化为s=T(r),其中r与s分别表示原图像与处理后图像的亮度值。图像增强旨在突出图像信息、消除不需要内容,技术包...

matlab灰度变换对比度展宽问题,如何用程序转换啊~~如图
已知变换曲线的话 直接将原始图的灰度值代入函数式进行变换即可 需要注意的是图形数据类型 I = imread('E:\\Fig1a.jpg');[d1,d2,d3] = size(I);if(d3 > 1)I = rgb2gray(I);%如果是灰度图就不用先变换 end I = double(I) \/ 255;I1 = uint8(255 * I * 0.5 + 0.5);imsho...

matlab怎么二值化
在MATLAB中进行图像二值化,可以使用`im2bw()`函数。这个函数通过阈值(threshold)变换方法,将灰度图像转换为二值图像。二值图像仅包含黑白两种颜色,通常表现为纯黑(0)和纯白(255),但也可以是其他任意两种颜色的组合。为了了解`im2bw()`函数的详细用法,可以在MATLAB命令窗口中输入`doc im2bw`或`...

用matlab做图像的灰度变换,指令I=rgb2gray(A)执行的时候总是报错,用的...
。使用 [A, map] = imread(...),A不同位置的数值在map里对应的颜色分量才是该位置的真实颜色。对于这样的A,做灰度变换只要对map做变换就行了,如matlab里的例子:[X,map] = imread('trees.tif');gmap = rgb2gray(map);figure, imshow(X,map), figure, imshow(X,gmap);...

求matlab 实现图片缩放,旋转,灰度变换代码
输入图像为I,J = imresize(I, m);任意缩放,倍数为m K = imrotate(I, angle);任意旋转,角度为angle

怎样用matlab进行图象变换
1、图像要转换成灰度图像才能进行此操作。im=imread("image_filename");%要处理的图像文件名 im=rgb2gray(im);t_im=255-im;imshow(im),title("原图像");figure,imshow(t_im),title("变换后的图像");2、这部分代码若需要,请发邮件到huajizhao@sohu.com索取。

MATLAB图像处理之图像增强一
首先,让我们探讨灰度变换增强的基础知识。在图像处理中,`impixel`函数用于获取像素值。执行代码并点击图像上的某点后,可获取该像素的函数数据。接着,`improfile`函数创建图像强度曲线,通过选择线段的两端点,绘制出该线段上的像素分布。`imcontour`函数用于显示图像等高线,需先将图像转化为二维灰度图,...

matlab怎么二值化
matlab中,使用im2bw()函数对图片进行二值化。matlab中DIP工具箱函数im2bw使用阈值(threshold)变换法把灰度图像(grayscale image)转换成二值图像。所谓二值图像, 一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像。 当然, 也可以是其他任意两种颜色的组合。在matlab命令行中键入doc im2bw或...

用MATLAB展示图像的灰度hitogram,然后做灰度变换和图像直方图均衡化处 ...
a=imhist('图像名称');figure,plot(a); %显示a图灰度直方图 b=imadjust(a); %直方图均衡化

相似回答