永发信息网

matlab如何根据函数图像画出强度图像

答案:2  悬赏:0  手机版
解决时间 2021-11-12 15:29
  • 提问者网友:浩歌待明月
  • 2021-11-12 03:06
matlab如何根据函数图像画出强度图像
最佳答案
  • 五星知识达人网友:我住北渡口
  • 2021-11-12 04:00
【1】如下图所示:

  x=-2*10^(-3):0.01*10^(-3):2*10^(-3);
I=(2*cos(2/5*pi*x*10^4)).^2;
I = round(I/max(I)*255);
Im = zeros(401,401);
for i = 1:401
Im(:,i) = I(i);
end
imshow(Im,[0 255])。
  【2】matlab:matlab中的图像就是一个二维的矩阵,如果是256级灰度的话,其像素值就在0-255之间。
‍I = round(I/max(I)*255);  % 将I的值扩展到0-255且取整。

全部回答
  • 1楼网友:迷人又混蛋
  • 2021-11-12 04:08
x=-2*10^(-3):0.01*10^(-3):2*10^(-3);
I=(2*cos(2/5*pi*x*10^4)).^2;
I = round(I/max(I)*255);
Im = zeros(401,401);
for i = 1:401
Im(:,i) = I(i);
end
imshow(Im,[0 255]);
你看看这个行不行!如果黑白颠倒了,就用Im=255-Im;就可以了。追问成功了,您能不能解释一下呢????追答matlab中的图像就是一个二维的矩阵,如果是256级灰度的话,其像素值就在0-255之间。
I = round(I/max(I)*255); % 将I的值扩展到0-255且取整;
Im = zeros(401,401);%因为你的X及I的长度都是401,故生成401X401的二维矩阵,即图像的高X宽为401X401,当然,你的高也可以设置为其他的值;
下面就是将Im每一列的值都赋成I的值,形成条纹。
imshow(Im,[0 255]);%显示图像;
图像你想查看图像具体的像素值的话,下面再来一条》Im 就可以看见了(不要加分号)。追问这个256我改成大点的或小点的会怎么样??还有为什么I的长度也是401??追答256是指256级灰度,当然可以改,但肯定都是2的幂,这个是图像处理的知识。不过matlab是比较 只能的,即使你的值不是在这范围,甚至是负值,他都可以转换为你想要的灰度级范围内,比如
imshow(Im,[0 1])就是二值图,只显示白色和黑色,没有中间的灰色,你也可以写为
imshow(Im,[0 16])等等。
因为你的x是401的长度,二I是x 的函数,当然也只有401个了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯