入力画像は次の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);
キャニー エッジ検出後の出力:
侵食後:
ここでの問題は、侵食後にすべての水平エッジが壊れていることですが、それは望ましくありません。縦線と斜め線をすべて削除したいだけでなく、すべての横線を中断せずに抽出したい。
誰かコードを修正してください。