当前位置:   article > 正文

VB6: FreeImage图像二值化_vb 图片二值化

vb 图片二值化

一、FreeImage简介:

FreeImage是一个C语言图像处理库,它免费、开源、跨平台,且简单易用。我使用的版本是FreeImage 3.15.3

二、FreeImage使用注意事件:

1. VB6使用时要把FreeImage.dll和MFreeImage.bas(在Wrapper\VB6\mfreeimage目录)拷到开发目录下。
2. 加载图片:建议使用FreeImage_LoadEx(图片文件名),它对FreeImage_Load进行了封装,可以打开任意支持的图片文件。

3. 在图像处理完成后,要用FreeImage_UnloadEx(图像句柄)释放分配的内存。

三、图像二值化:

调用FreeImage_Threshold(图像句柄, 阈值)对图像进行二值化处理

该函数对灰度图(256色)直接处理和16位色(24位色,32位色)会先在dll内部转换成灰度图,然后再进行二值化处理

四、示例:

建立一个工作目录,我的是C:\Tools\ImageProcess\FreeImage\Wrapper\VB6\test
在目录下随便放一个bmp图片文件,更名为 "test.bmp"。
在目录下建一个VB6标准EXE工程,并保存。
1. 删除Form1
2. 在工程中添加MFreeImage.bas
3. 添加空模块,加入以下代码

  1. Option Explicit
  2. Public Sub main()
  3. Dim dib As Long
  4. Dim dib2 As Long
  5. Dim szFile As String
  6. '' 打开测试文件
  7. szFile = "test.bmp"
  8. dib = FreeImage_LoadEx(szFile)
  9. If dib = 0 Then
  10. Debug.Print "Error file format: ", szFile
  11. Exit Sub
  12. End If
  13. '' 图像二值化, <37的设成0, ≥37的设成1
  14. dib2 = FreeImage_Threshold(dib, 37)
  15. '' 保存二值化后的图像
  16. Call FreeImage_Save(FIF_TIFF, dib2, "result.tif")
  17. '' 释放图像资源
  18. Call FreeImage_UnloadEx(dib2)
  19. Call FreeImage_UnloadEx(dib)
  20. End Sub

运行程序,就可以在工作目录下看到经过二值化处理的图片了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/125199
推荐阅读
相关标签
  

闽ICP备14008679号