Create an image out of Quick Shift result

Viewed 39

I've implemented the quickshift Quick Shift image segmentation algorithm in vb.net. Now I'm looking for a C++ or vb.net source code which converts the results of the Quick Shift back into an image. I tried the following code but the result is not satisfactory. In the meantime I've implemented it in vb.net myself but the result is not satisfactory.

    Dim qs_obj As VlQS
    Dim img_dbl() As Double
    Dim result_image As Bitmap
    img_dbl = ConvertRGB2LabDouble(Source_Image_PCA)
    qs_obj = vl_quickshift_new(img_dbl, Source_Image_PCA.Height, Source_Image_PCA.Width, 3)


    vl_quickshift_process(qs_obj)
    vl_quickshift_set_kernel_size(qs_obj, 10)
    vl_quickshift_set_max_dist(qs_obj, 10)


    result_image = CType(Source_Image_PCA.Clone, Bitmap)

    For y As Integer = 0 To Source_Image_PCA.Height - 1
        For x As Integer = 0 To Source_Image_PCA.Width - 1
            Dim pixelindex As Integer = qs_obj.parents(y * Source_Image_PCA.Width + x)
            Dim col As Integer = pixelindex Mod (Source_Image_PCA.Width)
            Dim row As Integer = pixelindex \ Source_Image_PCA.Width
            Dim pixel_val As Color
            pixel_val = Source_Image_PCA.GetPixel(col, row)
            result_image.SetPixel(x, y, pixel_val)
        Next
    Next

    picImageSpecialFnc.Image = result_image
0 Answers
Related