用matlab怎样拟合下图中黑白交界的直线?
发布网友
发布时间:2023-11-06 03:50
我来回答
共2个回答
热心网友
时间:2024-11-23 22:41
>> fnm = 'bw2.jpg';
p = imread(fnm);
p = rgb2gray(p); % 转为灰度图
bw = im2bw(p); % 转为二值图(黑白)
se = strel('disk',15); % 选择算子(过滤器)
bw2 = imclose(bw,se); % 闭操作,目地是删除散在的黑点
y = double(bw(:,50:end-50)); % 取图像中间一段数据
y = sum(y); % 按列求和(白点为 1,黑点为 0)
y = max(y)-y;
x = 1:length(y);
k = polyfit(x,y,1); % 拟合直线
y = poly2str(k,'x')
y =
-0.83028 x + 248.2949
热心网友
时间:2024-11-23 22:42
先jpg to 数组,然后matlab调用数组