# Can I use contour points smooth by using points interpolation in opencv?

**URL:** <https://forum.opencv.org/t/can-i-use-contour-points-smooth-by-using-points-interpolation-in-opencv/4993>\
**Category:** C++\
**Tags:** imgproc\
**Created:** [August 31, 2021, 2:34am UTC](https://forum.opencv.org/t/can-i-use-contour-points-smooth-by-using-points-interpolation-in-opencv/4993 "2021-08-31T02:34:40Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![niceguy\_sky](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/niceguy_sky/32/3001_2.png) [@niceguy\_sky](https://forum.opencv.org/u/niceguy_sky)\
**Post date:** [August 31, 2021, 2:34am UTC](https://forum.opencv.org/t/can-i-use-contour-points-smooth-by-using-points-interpolation-in-opencv/4993/1 "2021-08-31T02:34:40Z")

</div>

I got a contour by using the findcontour function.  
Current contour line so strange.  
I want smooth line by using interpolation to the contour. Can I do it? I am using c++

![0EE1C9AC-C85C-4728-8697-9DBC8CCF0243](https://us1.discourse-cdn.com/flex020/uploads/opencv/original/2X/4/4609b2226122239f3819c2ab900aedda7f6e3493.png)

---

<div class="post-metadata">

**Author:** ![berak](https://avatars.discourse-cdn.com/v4/letter/b/85f322/32.png) [@berak](https://forum.opencv.org/u/berak)\
**Post date:** [August 31, 2021, 6:57am UTC](https://forum.opencv.org/t/can-i-use-contour-points-smooth-by-using-points-interpolation-in-opencv/4993/2 "2021-08-31T06:57:58Z")

</div>

please show the findcontours / drawing code.

is it just a drawing problem, like you want anti-aliasing here ?

---

<div class="post-metadata">

**Author:** ![niceguy\_sky](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/niceguy_sky/32/3001_2.png) [@niceguy\_sky](https://forum.opencv.org/u/niceguy_sky)\
**Post date:** [September 1, 2021, 6:10am UTC](https://forum.opencv.org/t/can-i-use-contour-points-smooth-by-using-points-interpolation-in-opencv/4993/3 "2021-09-01T06:10:57Z")

</div>

```
vector<vector<Point>> contours_left,contours_left_dp, contours_right;
vector<Vec4i> hierarchy1,hierarchy2;
findContours( test, contours_left, hierarchy1, RETR_TREE, CHAIN_APPROX_NONE );
cv::drawContours(img,contours_left,0,Scalar(0,0,255),2,LINE_AA,hierarchy1);              
//cv::imshow("contours_left",contours_left);

vector<vector<Point>> hull(contours_left.size());
convexHull(contours_left[0],hull[0],false);

//Make a vector for new line
vector<Point> new_hull;
for(int i=0; i<hull[0].size()-1; i++)
{
    new_hull.push_back(hull[0][i]);
}

//Make a new line
 vector<vector<Point>> contours_left_new;
Mat new_hull_img = Mat::zeros(transM.rows, transM.cols, CV_8UC1);
cv::polylines(new_hull_img, new_hull, false, Scalar(255,255,255), 1);
cv::imshow("new_hull_lines",new_hull_img);

```

This is source code. above output result is “new\_hull\_img”

yes, I want anti-aliasing

---

<div class="post-metadata">

**Author:** ![berak](https://avatars.discourse-cdn.com/v4/letter/b/85f322/32.png) [@berak](https://forum.opencv.org/u/berak)\
**Post date:** [September 1, 2021, 7:50am UTC](https://forum.opencv.org/t/can-i-use-contour-points-smooth-by-using-points-interpolation-in-opencv/4993/4 "2021-09-01T07:50:16Z")

</div>

[polylines](https://docs.opencv.org/master/d6/d6e/group __imgproc__ draw.html#ga1ea127ffbbb7e0bfc4fd6fd2eb64263c) will accept the same LINE\_AA flag you used before in `drawContours()`

---

<div class="post-metadata">

**Author:** ![niceguy\_sky](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/niceguy_sky/32/3001_2.png) [@niceguy\_sky](https://forum.opencv.org/u/niceguy_sky)\
**Post date:** [September 9, 2021, 4:16am UTC](https://forum.opencv.org/t/can-i-use-contour-points-smooth-by-using-points-interpolation-in-opencv/4993/5 "2021-09-09T04:16:36Z")

</div>

Thank you so much your reply
