MATLAB进行二值处理并提取像素值

今天又重新看了一下2013年国赛的B题,碎纸片的拼接复原。了解了一下MATLAB处理图像的过程,不得不说MATLAB功能太强大,处理图片只要几行代码就足够了。这道题还用到了模拟退火算法,也是用MATLAB编写的,写在下一篇博客里。

MATLAB程序:

clc;
clear;
filename = '000.bmp';
imfinfo(filename) % 查看图像文件信息
imgRgb = imread(filename); % 读入一幅彩色图像
imshow(imgRgb); % 显示彩色图像

imgGray = rgb2gray(imgRgb); % 转为灰度图像
figure % 打开一个新的窗口显示灰度图像
imshow(imgGray); % 显示转化后的灰度图像
% imwrite(imgGray, 'gray.jpg'); % 将灰度图像保存到图像文件

thresh = graythresh(imgGray);     %自动确定二值化阈值
I = im2bw(imgGray,thresh);       %对图像二值化
figure
imshow(I);

valel=I(:,1);% 提取碎纸片第一列像素
valer=I(:,72);% 提取碎纸片最后一列像素

需要注意的是进行二值化处理之前需要对图像进行灰度处理,使用灰度图像进行二值化处理时,所取得的二值化阈值会更加精确,graythresh使用的方法是最大类间方差法。

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值