AForge.Net 如何去除图片中的灰底

zyqzyy 2017-05-26 09:06:42
AForge.Net 如何去除图片中的灰底?让图片中的文字更清晰,如下图:
...全文
339 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
水哥阿乐 2017-05-27
  • 打赏
  • 举报
回复
是的还不错了,版本尽量高点,对比度太小了,处理效果也不会好的,会无端生成水渍的,有能力的话再去个噪
zyqzyy 2017-05-27
  • 打赏
  • 举报
回复
能否介绍个例子?
zyqzyy 2017-05-27
  • 打赏
  • 举报
回复
原图见一楼,去灰底效果如下图:

应用 AForge.Net 解决,代码如下:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim ImagePath As String
Dim dlg As New OpenFileDialog
If dlg.ShowDialog = Windows.Forms.DialogResult.OK Then
ImagePath = dlg.FileName
Else
Return
End If

Dim img As Bitmap = System.Drawing.Bitmap.FromFile(ImagePath)
Dim NewBitmap As Bitmap
Dim Oldimage As System.Drawing.Bitmap
Dim t As Date = Date.Now()

Try
Dim CloneRect As New Rectangle(0, 0, img.Width, img.Height)
Oldimage = img.Clone(CloneRect, PixelFormat.Format8bppIndexed) '从这个API文档页面可以看出,SobolEdgeDetector过滤器只支持8bpp灰度图像

Dim filter As AForge.Imaging.Filters.BradleyLocalThresholding = New AForge.Imaging.Filters.BradleyLocalThresholding()
NewBitmap = filter.Apply(Oldimage)
Application.DoEvents()
Me.PictureBox2.SizeMode = PictureBoxSizeMode.Zoom
Me.PictureBox2.Image = NewBitmap
Catch ex As Exception
MsgBox(ex.Message)
End Try
MsgBox("耗时: " & (Date.Now - t).TotalSeconds & " 秒")
End Sub
水哥阿乐 2017-05-26
  • 打赏
  • 举报
回复
建议楼主参考一下.net的GDI+方面,重点关注一下GDI+的滤色部分

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧