Files
Serendipity 3ca079a980 refactor: 项目目录结构重组
- 中文目录名改为英文:cDNA图像处理实例→examples,参考资料→references
- web→app(Flask应用标准命名)
- 输出目录平移到 data/output/simple/ 和 data/output/full/
- 输入图像统一到 data/input/
- 构建脚本移到 scripts/
- 源码文件改用 snake_case 命名
- 更新所有文件路径引用和文档
2026-07-16 20:59:58 +08:00

48 lines
1.0 KiB
Matlab

%%%%下面检测二值图的轮廓:如果与四邻域的差中有一个为1,则为内点,否则为外点.
function output=contour_bw(input)
%input=imread('bw_image.bmp');
%%输入图像矩阵:input
%%输出图像矩阵:在边界处为255,内部为0
% input=Lnew_out;
[r,c]=size(input);
output=255*zeros(r,c);
%改动过
% global num;
global r_avg;
r_avg=0;
global g_avg;
g_avg=0;
global b_avg;
b_avg=0;
% global rect_rgb_01;%最初切割原图像
Reb_dot=0;
for i=2:r-1
for j=2:c-1
if (input(i,j)-input(i,j+1)==1 || input(i,j)-input(i,j-1)==1 || input(i,j)-input(i+1,j)==1 || input(i,j)-input(i-1,j)==1)
output(i,j)=255;
% r_avg=r_avg+double(rect_rgb_01(i,j,1));
% g_avg=g_avg+double(rect_rgb_01(i,j,2));
% b_avg=b_avg+double(rect_rgb_01(i,j,3));
% num=num+1;
Reb_dot=Reb_dot+1;
else
output(i,j)=0;
end
end
Reb_dot
end
% r_avg=uint8(r_avg/num);
% g_avg=uint8(g_avg/num);
% b_avg=uint8(b_avg/num);