This opencv tutorial is about drawing a circle by dynamically taking radius and centre values from the user.
Drawing a Circle(Opencv):
Drawing a Circle(Opencv):
Syntax:
void
circle(Mat& img, Point center, int radius, const Scalar& color,
int thickness=1, int lineType=8, int shift=0)
Parameters:
img –
Image where the circle is drawn.
center –
Center of the circle.
radius –
Radius of the circle.
color –
Circle color.
thickness –
Thickness of the circle outline, if positive. Negative thickness means that a
filled circle is to be drawn.
lineType –
Type of the circle boundary. See the line() description.
shift –
Number of fractional bits in the coordinates of the center and in the radius
value.
The
function circle draws a simple or filled circle with a given center and radius.
Note: To draw a filled circle in Opencv ,take the value of line type as Negative (e.g -2).
Here is the opencv code below:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main( )
{
// Create black empty images
Mat image = Mat::zeros( 400, 400, CV_8UC3 );
// Draw a circle
circle( image, Point( 200, 200 ), 32.0, Scalar( 0, 0, 255 ), 1, 8 );
imshow("Image",image);
waitKey( 0 );
return(0);
}
Drawing Concentric Circles(opencv):
Here is the opencv code below for drawing concentric circles:
Here is the opencv code below for drawing concentric circles:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main( )
{
// Create black empty images
Mat image = Mat::zeros( 400, 400, CV_8UC3 );
// Draw a circle
for(int i=0; i<200;i=i+30)
{
circle( image, Point( 200, 200 ), i, Scalar( 0, 0, 255 ), 1, 8 );
imshow("Image",image);
waitKey( 1000 );
}
return(0);
}
Drawing circle by taking the value of
radius from the user:
Here is the code below for drawing concentric circles by dynamically taking values from the user:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( )
{
// Create black empty images
/*It basically defines the size of the window where circle would be drawn*/
Mat image = Mat::zeros( 400, 400, CV_8UC3 );
int i,x,y;
// Draw a circle
while(true)
{
cout<<"Enter the co-ordinates of the centre"<<endl;
//Get value of centre from the user it should be 0<x<400 and 0<y<400
//Bcoz size of window is (400,400)
cin>>x>>y;
//Display the co-ordinate of the centre in the form (x,y)
cout<<"Co-ordinates of the centre is ("<<x<<","<<y<<")"<<endl;
cout <<"Enter the value of radius"<<endl;
//Take the value of centre from the user
cin >>i;
//Function for drawing the circle
circle( image, Point( x, y ), i, Scalar( 0, 0, 255 ), 1, 8 );
imshow("Image",image);
waitKey( 1000 );
}
return(0);
}
No comments:
Post a Comment