matlab图像校正工具箱_MATLAB2016b图像处理工具箱(一)

基本的图像导入、处理、导出

读取和展示图像:

I = imread('pout.tif');

imshow(I)

pout.tif不用再当前的工作目录下,它总是在的(自带的)

imtool的功能比imshow更完善

图像在工作空间的数据

whos I

提高对比度

直方图

figure

imhist(I)

直方图均衡

I2 = histeq(I);

figure

imshow(I2)

figure

imhist(I2)

保存已处理图片

imwrite (I2, 'pout2.png');

I2保存到工作目录中

图片信息

imfinfo('pout2.png')

基本图像增强和分析技术

读取图像到工作空间

I = imread('rice.png');

imshow(I)

原图

图像预处理:因为光照不均和噪声

形态学处理:开操作,删除米粒(灰度级的形态学)

background = imopen(I,strel('disk',15));

background

数学展示背景分布:

figure

surf(double(background(1:8:end,1:8:end))),zlim([0 255]);

set(gca,'ydir','reverse');

仅仅展示

剪掉背景

I2 = I - background;

imshow(I2)

均衡光照

增强对比度

I3 = imadjust(I2);

imshow(I3);

f1=imadjust(f,[low_in high_in],[low_out high_out],gamma)灰度调整,gamma大于1变暗。参考

对比度增强

获得二值图像

level = graythresh(I3); //自动获得最佳阈值

bw = im2bw(I3,level);

bw = bwareaopen(bw, 50); //删除小面积对象,除去噪声

imshow(bw)

bw

图像分析

连通体个数

cc = bwconncomp(bw, 4) //4连通

cc.NumObjects //有96个米粒,因为两个米粒连接在一块

cc

第50个连通体(米粒)

grain = false(size(bw));

grain(cc.PixelIdxList{50}) = true; //包含米粒位置信息,[][]-->[]

imshow(grain);

米粒

彩色(仅仅展示)

labeled = labelmatrix(cc); //第n粒米粒的位置大小是n

RGB_label = label2rgb(labeled, @spring, 'c', 'shuffle');//映射

imshow(RGB_label)

彩色

连通体数据

graindata = regionprops(cc, 'basic')

数据

Area:面积,即像素数; Centroid:质心 ; BoundingBox:外围的长方形

获取最小面积的米粒

grain_areas = [graindata.Area];

[min_area, idx] = min(grain_areas)

grain = false(size(bw));

grain(cc.PixelIdxList{idx}) = true;

imshow(grain);

面积分布

figure

histogram(grain_areas)

title('Histogram of Rice Grain Area');

分布

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值