Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
616 views
in Technique[技术] by (71.8m points)

matlab - clean noise from an image

I need to know how to clean noise from an image with Matlab.

lets look at this example:

enter image description here enter image description here

as you see the numbers is not look clearly.

so how can I clean the noise and the pixels that are not the numbers so the identification will be easier.

thanks.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Let's do it step by step in Mathematica:

(*first separate the image in HSB channels*)
i1 = ColorSeparate[ColorNegate@yourColorImage, "HSB"]

enter image description here

(*Let's keep the B Channel*)
i2 = i1[[3]]

enter image description here

(*And Binarize it *)
i3 = Binarize[i2, 0.92]

enter image description here

(*Perform a Thinning to get the skeleton*)
i4 = Thinning[i3]

enter image description here

(*Now we cut those hairs*)
i5 = Pruning[i4, 10]

enter image description here

(*Remove the small lines*)
i6 = DeleteSmallComponents[i5, 30]

enter image description here

(*And finally dilate*)
i7 = Dilation[i6, 3]

enter image description here

(*Now we can perform an OCR*)
TextRecognize@i7
-->"93 269 23"  

Done!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...