Ask Your Question

balasubramaniyan94's profile - activity

2021-08-25 08:14:09 -0600 received badge  Famous Question (source)
2020-07-22 20:37:48 -0600 received badge  Notable Question (source)
2020-03-05 20:29:12 -0600 received badge  Popular Question (source)
2018-10-02 00:25:59 -0600 received badge  Enthusiast
2018-10-02 00:25:59 -0600 received badge  Enthusiast
2018-10-01 05:18:26 -0600 commented question Contour Single blob with multiple object

@yancey We are unable to separate the object during thresholding. Please suggest methods, if any.

2018-09-25 10:12:47 -0600 asked a question Arranging Contour Points in Clockwise order

Arranging Contour Points in Clockwise order Hi to everyone. I would like to know possibilities of sorting the single co

2018-09-25 10:06:44 -0600 commented question Contour Single blob with multiple object

Initially we will apply GaussianBlur to the original image and then we will apply binary thresholding and finally use fi

2018-09-25 01:07:20 -0600 commented question Contour Single blob with multiple object

Hi yancey, This is not the original image. How to separate the object before contour?. Please suggest.

2018-09-24 01:54:28 -0600 asked a question Contour Single blob with multiple object

Contour Single blob with multiple object Hi to everyone. I'm developing an object shape identification application and

2018-06-05 14:44:30 -0600 received badge  Popular Question (source)
2013-11-14 11:56:48 -0600 asked a question Gabor filter (Real and imaginary images)

Hi to everyone,

As surfing through net, i got that gabor filter can be used for texture analysis.  And the output of the gabor filter will be real and imaginary image.

I have used the following code from opencv for gabor filter.

void Process(int , void *)
{
    const CvArr* m;
    std::vector<int> qualityType;
    qualityType.push_back(CV_IMWRITE_JPEG_QUALITY);
    qualityType.push_back(90);
    double sig = pos_sigma;
    double lm = 0.5+pos_lm/100.0;
    double th = pos_th;
    double ps = pos_psi;
    cv::Mat kernel = mkKernel(kernel_size, sig, th, lm, ps);
    cv::filter2D(src_f, dest, CV_32F, kernel);
    cv::Mat Lkernel(kernel_size*20, kernel_size*20, CV_32F);
    cv::resize(kernel, Lkernel, Lkernel.size());
    Lkernel /= 2.;
    Lkernel += 0.5;
    cv::imshow("Kernel", Lkernel);
    cv::Mat mag;
    cv::pow(dest, 2.0, mag);
    imwrite( "Templatemag.bmp", dest );
    cv::imshow("Mag", mag); 
}

int main(int argc, char** argv)
{
    src_f = cv::imread("sample.bmp",0);
    unsigned char *temp;
    if (!kernel_size%2)
    {
        kernel_size+=1;
    }
    cv::namedWindow("Process window", 1);
    cv::createTrackbar("Sigma", "Process window", &pos_sigma, kernel_size, Process);
    cv::createTrackbar("Lambda", "Process window", &pos_lm, 100, Process);
    cv::createTrackbar("Theta", "Process window", &pos_th, 180, Process);
    cv::createTrackbar("Psi", "Process window", &pos_psi, 360, Process);
    Process(0,0);
    cv::waitKey(0);
    return 0;
}

And the output of the above coding is as attached with this post.

We are unable to understand the real and imaginary image from the attached output.

Helps us to proceed further.  Share us any link which describes details about the real and imaginary image.