您的位置:首页 > 编程语言 > MATLAB

MATLAB 图像处理一些实用函数整理

2015-03-03 10:22 375 查看
收集一些MATLAB图像处理的实用函数,方便自己日后查阅参考。

im = imread('apple.jpg');
im_gray = rgb2gray(im); %RGB图转换为灰度图
size(im_gray);
im_bw = im2bw(im_gray, 0.9) %灰度图转二值图
[L1 num1] = bwlabel(im_bw, 4);
[L2 num2] = bwlabel(im_bw, 8);


BW = im2bw(I, LEVEL) : I 为灰度图或者RGB图

将灰度(RGB)图像I转化为二值图,阈值level取值范围[0, 1],1为白,0为黑。此处将输出图像BW中的白色区域标记为1,黑色标记为0。

(注意:使用完im2bw之后,不能直接使用bwlabel,因为我们的目标区域是黑色的,即对应值为0,而bwlabel针对1区域进行标记,所以直接操作会导致结果错误,笔者曾在这个小问题上徘徊了一段时间~~~

可以采取利用~符号进行反转操作再进行处理)

[L num] = bwlabel(BW, N)

将黑白图BW按照4连通(N=4)或者8连通(N=8)进行标记,背景标记为0,其余按连通区域分别标记为1,2,3...,标记之后的图存在L中,num返回的是标记图的个数。

标记后的图可以使用[r, c] = find(L == N),将相应区域找出来。

如何计算一幅图像中同一灰度值的像素个数
[r, c] = find(A == value);
num = length(r);


num = sum(sum(A == value));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: