图像处理
1.窗切片处理
应用:对医学数字图像进行切片,使需要观察的部位更加突出
原图:
第一种切片方法:
第二种切片方法:
clear;close all;
Image = im2double(imread('AG.jpg')); % 将数字图像精度转换至双精度
[h, w] = size(Image); % 获取图像大小 即图像的高h,宽w
imshow(Image);title('ACG图像'); % 展示原始图像
NewImagel=zeros(h,w); % 根据图像生成矩阵
NewImage2 = Image;
a=170/256;b=200/256;c=90/256;d=250/256; % 初始化设置参数
for x=1:w % 进入循环
for y=1:h
if Image(y,x)<a
NewImagel(y,x)=c; % 根据条件改变矩阵相应位置的值
else
NewImage1(y,x)=d; % >=a 则将此像素点值置为d
end
if Image(y,x)>c && Image(y,x) < a % 取参数大于c小于a 范围内的值置零
NewImage2(y,x)=0;
end
end
end
figure; imshow(NewImagel);title('图5-5(a)窗切片图像');
figure; imshow(NewImage2);title('图5-5(b)窗切片图像');
**clc:**清除命令窗口的内容,对工作环境中的全部变量无任何影响
**close:**关闭当前的Figure窗口
**close all:**关闭所有的Figure窗口
**clear:**清除工作空间的所有变量
**clear all:**清除工作空间的所有变量,函数,和MEX文件
2.分段线性变换
不同的灰度变换(分段线性;截断;高低灰度值保持不变)
clc;clear;close all;
Image = im2double(rgb2gray(imread('lotus.bmp'))); % 通过消除图像色调和饱和度信息同时保留亮度实现将RGB图像或彩色图转换为灰度图像,即灰度化处理的功能
% 将读取的图像灰度化并增大精度
[h,w] = size(Image); % 获取图像尺寸 h:height,高度;w:width 宽度
imshow(Image);title('原始lotus图像'); % 展示灰度图像Image
NewImage1 = zeros(h,w); % 生成 h行 w 列的二维矩阵
NewImage2 = zeros(h,w);
NewImage3 = Image;
a = 30/256;b = 100/256;c= 75/256;d= 200/256;
for x = 1 : w % 最外层循环 宽度
for y = 1 : h % 内层循环 高度
if Image(y,x)<a % 在灰度图像中 按列从上至下循环 若(y,x)处值<a时 对图像进行下行处理
NewImage1(y,x) = Image(y,x)*c/a; % 分段处理
elseif Image(y,x)<b % 若(y,x)处值<b时 对图像进行下行处理
NewImage1(y,x) = (Image(y,x)-a)*(d-c)/(b-a)+c;
else % 其他情况 做以下处理
NewImage1(y,x) = (Image(y,x)-b)*(1-d)/(1-b)+d;
end
if Image(y,x)>a&& Image(y,x)<b % 介于(a,b)之间 做下行处理
NewImage3(y,x) = (Image(y,x)-a)*(d-c)/(b-a)+c;
end
end
end
NewImage2 = imadjust(Image,[a;b],[c;d]); % imadjust(image, [low_in high_in], [low_out high_out], gamma)
% 低于low_in与高于high_in的值被剪裁,低于low_in映射到low_out;高于high_in
% 映射到high_out ;
% 另一个参数:gamma指定曲线的形状,该曲线将图像中的强度值映射为函数图像。此行代码未使用此参数
figure;imshow(NewImage1);title('分段线性灰度级变换图像');
figure;imshow(NewImage2);title('截断式灰度级变换图像');
figure;imshow(NewImage3);title('高低灰度级保持不变图像');
3.直方图均衡化
图像直方图与均衡后图像直方图对比
clear;close all;
Image = rgb2gray(imread('couple.bmp')); % 读取灰度化图像
histgram = imhist(Image); % 直接调用函数 imhist(I,N): 统计并显示图像I的直方图,N为灰度级,默认256
[h,w] = size(Image);
NewImage = zeros(h,w); % 根据图像尺寸生成
s = zeros(256); s(1) = histgram(1); % s:256x256双精度矩阵; 初始化s(1)
for t = 2:256
s(t) = s(t-1)+histgram(t); % 获取灰度值的累积分布
end
for x = 1:w
for y = 1:h
NewImage(y,x) = s(Image(y,x)+1)/(w*h); %利用直方图计算新的图像灰度级 频率
end
end
figure;imshow(Image);title('couple灰度图像');
figure;imhist(Image);title('couple灰度图像的直方图');
axis tight;
figure;imshow(NewImage);title('直方图均衡化处理后图像');
figure;imhist(NewImage);title('直方图均衡化处理后图像的直方图');
axis tight;
%matlab 提供了直方图均衡化函数
%J = histeq(I,N)
%对图形I进行均衡化处理,N为输出图像的灰度级数
% clc,clear,close all;
% Image = imread('couple.bmp');
% NewImage = histeq(Image,64);
% subplot(121),imshow(Image);
% subplot(122),imshow(NewImage);
4.图像直方图统计
直方图统计过程:通过循环统计图像每一个像素点值,得到(0,256)范围每一个值的个数,生成直方图
clc;clear;close all;
Image = rgb2gray(imread('couple.bmp')); % 读取灰度化图像
histgram = zeros(256); % 生成矩阵 256x256
[h , w] = size(Image); % 获取图像尺寸
for x = 1 : w
for y = 1 : h
histgram(Image(y,x)+1) = histgram(Image(y,x)+1)+1; % 在循环中统计并累加
end
end
imshow(Image);title('couple灰度图像');
figure;stem(histgram(),'.'); % stem(Y) %绘制直方图高度为Y值
%stem(X,Y)%在位置X处绘制直方图
% stem(_,‘fill’)%fill表示填充图形中的小圆圈 ‘.’则无填充
axis tight; % axis tight 是设置坐标轴显示范围为紧凑型
% 也可以直接调用函数 imhist(I,N): 统计并显示图像I的直方图,N为灰度级,默认256
% imhist(X,MAP):统计并显示索引图像的直方图,MAP为调色板;
% [COUNTS,X] = imhist(...):返回直方图数据向量COUNTS和相应的色彩向量X
% 程序如下:
% Image = reg2gray(imread('couple.bmp'));
% figure;imhist(Image);
% axis tight;
可视生成矩阵更容易理解
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ljW80aXw-1648539675391)(E:\笔记\matlab\images\image-20220329153840319.png)]
彩向量X
% 程序如下:
% Image = reg2gray(imread(‘couple.bmp’));
% figure;imhist(Image);
% axis tight;
可查看生成矩阵更容易理解
![在这里插入图片描述](https://img-blog.csdnimg.cn/a53841fbc6c24c8bad128fff8930a196.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA54u85pePIFggIOWwj-WTpQ==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/c336027b817f4cae89488ef9a2352358.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA54u85pePIFggIOWwj-WTpQ==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
文章出处登录后可见!
已经登录?立即刷新