samedi 27 juin 2015

Why different lines drawn using cv::line function has different transparency (alpha) levels?

I used houghLines transformation to detect lines in an image and I draw the lines detected by that on a separate Mat image using cv::line() function. Note that the lines detected by houghLinesP are usually overlapping with each other and high in number. (even if there is 1 line in the image it will detect number of adjacent lines for it)

for (size_t i = 0; i < lines.size(); i++)
{
    Vec4i l = lines[i];
    line(src, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(0, 255, 0), 10, CV_AA);
}

I wanted to draw the lines in solid green color without any transparency. But in the resulting image I noticed that some lines at the edges are transparent. (or the borders of lines are blurred) Following is a part of my resulting image.

enter image description here

I want to avoid this. I want to have sharp edges for the lines and should not have any transparency. How to do it?

Aucun commentaire:

Enregistrer un commentaire