seo优化网络公司排名,天津seo顾问,网站群建设的目的意义,青浦区网站建设公司文章目录 基础知识图像是什么样的#xff1f;1#xff0c;空间分辨率#xff0c;灰度分辨率2#xff0c;灰度图和彩色图的区别3#xff0c;什么是灰度直方图#xff1f; 实验要求1#xff0c;按照灰度变换曲线对图像进行灰度变换2#xff0c;读入一幅图像#xff0c;分… 文章目录 基础知识图像是什么样的1空间分辨率灰度分辨率2灰度图和彩色图的区别3什么是灰度直方图 实验要求1按照灰度变换曲线对图像进行灰度变换2读入一幅图像分别对其进行求反变换、对数变换和幂次变换。并显示原图像和变换后图像。 实验记录任务一任务二反转变换对数变换幂次变换 结果展示结果1结果2反转变换对数变换幂次变换 反思总结与收获1在matlab中让几幅图片在一个窗口显示2title( ) 标题3uint84im2double()函数5matlab判断语句怎么写6matlab 循环语句怎么写7清空命令行 基础知识
第一次接触这方面的知识一开始有点措手不及过了很久才慢慢了解
图像是什么样的
在matlab中使用imread()函数读取一副彩色图像后我们得到了以下的矩阵 在计算机中图像就是以这种形式保存的。
1空间分辨率灰度分辨率 空间分辨率图像中可分辨的最小细节,由采样间隔值决定看起来对清晰度有影响 灰度分辨率灰度级别中可辨别的最小变化感觉是黑白色之间过渡的级别 灰度分辨率越小越黑白 2灰度图和彩色图的区别 彩色图每个像素由R,G,B三个分量表示用三个二维矩阵分别表示各个像素的R,G,B三个颜色分量。 灰度图每个像素只有一个采样颜色所以用一个二维矩阵来表示各个像素的采样颜色。 3什么是灰度直方图 由此可见进行灰度变换就是改变灰度值
实验要求
1按照灰度变换曲线对图像进行灰度变换 2读入一幅图像分别对其进行求反变换、对数变换和幂次变换。并显示原图像和变换后图像。
实验记录
任务一 了解了以上的知识后这个图也能够看懂了 原图的灰度曲线应该是这个样子的 是一条过原点斜率为1的曲线 通过以下操作可以将其变成要求的曲线 %分段
x00;y00;
x148;y123;
x2196;y2216;
x3255;y3255;%算变换斜率
a1(y1-y0)/(x1-x0);
a2(y2-y1)/(x2-x1);
a3(y3-y2)/(x3-x2);
I2 I1;
[height,width] size(I1) %得出图片的高宽
for row 1:1:height %遍历图片矩阵for col 1:1:widthtmp I2(row,col);if(tmp x1)I2(row,col) a1*tmp;elseif(tmpx1tmpx2)I2(row,col) a2*(tmp-x1)y1;elseI2(row,col) a3*(tmp-x2)y2;endend
end
plot(x,y);
hold on
plot([0 x1],[y1 y1],r--) %画线
plot([x1 x1],[0 y1],r--) %画线plot([0 x2],[y2 y2],r--) %画线
plot([x2 x2],[0 y2],r--) %画线hold off 接下来我们就可以通过以上步骤对图像进行操作 %分段
x00;y00;
x148;y123;
x2196;y2216;
x3255;y3255;%算变换斜率
a1(y1-y0)/(x1-x0);
a2(y2-y1)/(x2-x1);
a3(y3-y2)/(x3-x2);
I2 I1;
[height,width] size(I1) %得出图片的高宽
for row 1:1:height %遍历图片矩阵for col 1:1:widthtmp I2(row,col);if(tmp x1)I2(row,col) a1*tmp;elseif(tmpx1tmpx2)I2(row,col) a2*(tmp-x1)y1;elseI2(row,col) a3*(tmp-x2)y2;endend
end展示结果代码 subplot(221);imshow(I1);title(灰度图);
subplot(222);imhist(I1);title(灰度直方图);subplot(223);imshow(I2);title(灰度变换后图);
subplot(224);imhist(I2);title(灰度直方图);任务二
反转变换 把黑变成白把白变成黑 公式 L是灰度级一般是256 Himread(山.png);
Hi 255-H;
subplot(324);imshow(Hi);title(求反变换);对数变换 Iimread(山.png);
c 1 %对数因子
I1 im2double(I);
I3 uint8(c*log(1I1*255)/log(256)*255);
subplot(121);imshow(I);title(原图);
subplot(122);imshow(I3);title(对数变换图);幂次变换 公式 gamma 2.5; % 幂次参数可根据需要调整
Hgam c*im2double(H).^gamma;
subplot(326);imshow(Hgam);title(幂次变换);结果展示
结果1 结果2
反转变换 对数变换 幂次变换 反思总结与收获
1在matlab中让几幅图片在一个窗口显示
subplot(121);imshow(I);title(原图);
subplot(122);imshow(Hgam);title(幂次变换图);subplot(a,b,c);将窗口分割成a行b列后这个图片在序号为c的位置 序号排序如下 注意subplot()函数里面的参数要加,分隔我没有分隔是坏习惯
2title(’ ) 标题
在’之间添加文本就可以显示标题了
3uint8
图像矩阵的数据类型一般是uint8无符号8位整型数据
4im2double()函数
将图的uint8矩阵转成double矩阵要注意的是这个函数一般会将原来uint8数据从0~255范围映射到0~1范围所以当你想把它重新转成uint8的时候要乘255
5matlab判断语句怎么写
if(条件)...
elseif(条件)
...
else
...
end6matlab 循环语句怎么写
for i 1:7 %这个代表了从1到7每次递增1
...
endfor i 0:2:8 %这个代表了从0到8每次递增2
...
end7清空命令行
% 在脚本里加入以下语句在每次运行时会清空命令行
clear all;
clc;