记第一次写博客,必须奉献给我认识已久的Matlab啦,嘿嘿。
首先,上图:
问题描述:将如图所示间断的亮点连接成一个连续的亮线。
解决问题:差值其亮点的行数,前提是图中每一列只有一个亮的元素点
Code like this:
%.m
%author:e^jqz
%data:2018.11.28
%class:low
clc,clear;
I = imread('11.bmp');
After = rgb2gray(I);
After = After(31:438,86:262);
figure(1)
imshow(After);
Temp = zeros(52,1);b = 1;
for j = 1:size(After,2)
for i = 1:size(After,1)
if After(i,j) == 255
Temp(b,1) = i;
b = b+1;
end
end
end
Coef_x = interp1(linspace(24,140,52),Temp,[24:140]','linear');
Coef_x = round(Coef_x(:,:));
Deal_after = zeros(408,177);c = 1;
for j = 1:177
for i = 1:408
if(j>=24 && j<=140)
if(i == Coef_x(c))
Deal_after(i,j) = 255;
c=c+1;
break;
end
end
end
end
figure(2)
imshow(Deal_after)
result like this:
代码不具有普适性,但利用笨拙的方法实现了是间断的点连接成连续的点。
喜欢的点个赞鼓励下,谢谢咯~~