-1

入力画像は次の5.pngとおりです。

入力

これが私のコードです:

clear all; close all; clc;
%Input Image
A = imread('C:\Users\efu\Desktop\5.png');
% figure, imshow(A);

C=medfilt2(A,[3 5]);
% figure,imshow(C);

D=imfill(C);
% figure,imshow(D);

%Image obtained using MATLAB function 'edge'    
E=edge(D,'canny',[0.01 .02],3);
figure, imshow(E); title('Image obtained using MATLAB function');

image=E;
img=im2bw(image);
% imshow(img)

se = strel('line',3,0);
zz = imerode(img,se);
figure, imshow(zz);

キャニー エッジ検出後の出力:

出力1

侵食後:

出力2

ここでの問題は、侵食後にすべての水平エッジが壊れていることですが、それは望ましくありません。縦線と斜め線をすべて削除したいだけでなく、すべての横線を中断せずに抽出したい。

誰かコードを修正してください。

4

1 に答える 1