大虾们,现在在图像处理这一块,都是vc程序,有哪位有vb的图像处理啊?我现在想要一个灰度图像细化处理的程序!希望有的同志能够发到我邮箱里!,请帮助!!!

解决方案 »

  1.   


    dim i as long,j as long
    dim pixel as long
    dim r as long,b as long,g as long
    dim Gray as long '对应的灰度值with picturebox
    '遍历每一个像素
    for i=1 to 高度
    for j=1 to 宽度
    pixel=.point(i,j)

    '分离出每个像素的R,G,B分量
    r=getColor(pixel,COLOR_R)
    g=getColor(pixel,COLOR_G) 
    b=getColor(pixel,COLOR_B)

    '把RGB通道当成三维坐标,当X=Y=Z的时候,就是灰度
                            Gray=(r+g+b)\3  'r=g=b  有一个比例 更符合肉眼视觉,你可以去GOOGLE一下
                            
    '写回去,看看实际效果
    pixel=RGB(Gray,Gray,Gray)
    next
    next
                 
    end with
      

  2.   

    如果使用API的话,VB和VC的处理方法差不多,如果你用VC的话,
    用API的方法基本不会变,只是API的声明有点差异,VC是声明头文件包含API,
    而VB是用什么API就声明什么函数,至于运算,相信语言的差别不至于影响
    到你要的结果。
      

  3.   

    dim i as long,j as long
    dim pixel as long
    dim r as long,b as long,g as long
    dim Gray as long    '对应的灰度值with picturebox
        '遍历每一个像素
        for i=1 to 高度
            for j=1 to 宽度
                pixel=.point(i,j)
                
                '分离出每个像素的R,G,B分量
                r=getColor(pixel,COLOR_R)
                g=getColor(pixel,COLOR_G) 
                b=getColor(pixel,COLOR_B)
                
                '把RGB通道当成三维坐标,当X=Y=Z的时候,就是灰度
                            Gray=(r+g+b)\3  'r=g=b  有一个比例 更符合肉眼视觉,你可以去GOOGLE一下
                            
                '写回去,看看实际效果
                pixel=RGB(Gray,Gray,Gray)
            next
        next
                 
    end with这个不是细化吧?我用这个作为彩色图像的灰度处理的,就是二值化处理,但是现在图像中显示的直线太粗糙了!对图像进行处理起来不精确!我希望能够让图像中的粗糙的线细化成一条直线啊@!