Image Processing Toolbox入门

Image Processing Toolbox入门

1.图像的导入导出
% 读取图像
I=imread(path)

% 显示图像
imshow(I)

% 查看图像数据格式
whos I

% 保存图像
imwrite(I,path)

% 检测文件内容 (如图像的格式、大小、宽度和高度等)
imfinfo(path)
2.图像对比度调整
% 显示直方图
figure
imhist(I)

% 直方图均衡化(灰度均衡)
I2 = histeq(I)

% 图像灰度线性变换 (x,y)=aF(x,y)+b
I2 = imadjust(I)
3.找圆
% 圆形检测器 设置边缘极性
[centers,radius] = imfindcircles(I,[20 25],"ObjectPolarity","dark")

% Sensitivity敏感度值设置越高 越能检测更多圆 默认0.85
[centers,radius] = imfindcircles(I,[20 25],"ObjectPolarity","dark",“Sensitivity”,0.9)

% 圆形的绘制
h = viscircles(centers,radius)

% 设置绘制的颜色
hBright = viscircles(centers,radius,"Color","b")
4.图像的预处理
% 自适应阈值分割
level = graythresh(I)

% 分水岭算法
L=watershed(I)

% 定义结构元素
se = strel('disk',15)

% 执行开运算 生成背景图像
background = imopen(I,se)

% 图像作差
I2 = I - background

% tophat操作 等同于先形态学处理 再相减
I2 = imtophat(I,strel('disk',15))

% 图像数据饱和处理
I3 = imadjust(I2)

% 灰度图像转换为二值图像
bw = imbinarize(I3)

% 从二值图像中删除少于50个像素的连通分量  面积开运算
bw = bwareaopen(bw,50)

% 在二值图像中查找连通分量
cc=bwconncomp(bw,4)
% 获取个数
cc.NumObjects

% 创建标签矩阵 矩阵大小等同于原始图像大小
labeled = labelmatrix(cc)
% 设置背景颜色及标签矩阵中的对象映射颜色 显示伪彩色索引图像
RGB_label = label2rgb(labeled,'spring','c','shuffle')

% 计算对象属性 获取面积、最小外接矩形、质心、圆度、最小凸多边形、角度等
% 测量类型指定 "basic",仅计算 "Area"、"Centroid" 和 "BoundingBox" 测量值
graindata = regionprops(cc,'basic')
grain_areas = [graindata.Area];
[min_area, idx] = min(grain_areas)

% 创建直方图
histogram(grain_areas)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值