Giriş
Java'da şu satırı dahil ederiz.
LINE_AA antialiasing kullan anlamına gelir. Şöyle yaparız.
Bir resme daire çizer. 3.parametre yarıçap,4. parametre renk, 5.parametre thickness (bu değer eksi ise dairenin içi doldurulur), 6. parametre lineType, 7. parametre shift içindir. 7. parametreyi anlamadım.
Örnek
Mavi renkli daire çizmek için şöyle yaparız.
Mavi renkli daire çizmek için şöyle yaparız.
ellipse metodu
Örnek ver
ellipse2Poly metodu
Örnek ver
fillConvexPoly metodu
Şöyle yaparız.
fillPoly metodu
Elimizde bir nokta dizisi olsun.
Örnek ver
InitFont metodu
Örnek ver
line metodu
Örnek ver
LineIterator metodu
Örnek ver
rectangle metodu - x1 , y1 , x2 , y2 , color
İmzası şöyle
Örnek ver
putText metodu
Örnek ver
Java'da şu satırı dahil ederiz.
import org.opencv.imgproc.Imgproc;
arrowedLine metoduLINE_AA antialiasing kullan anlamına gelir. Şöyle yaparız.
Point from(320, 240); //Middle
Point to(639, 240); //Right border
arrowedLine(image, from, to, Vec3b(0, 0, 0), 1, LINE_AA, 0, 0.1);
Antialiasing kullanmamak için şöyle yaparız.arrowedLine(image, from, to, Vec3b(0, 0, 0), 1, LINE_8, 0, 0.1);
circle metoduBir resme daire çizer. 3.parametre yarıçap,4. parametre renk, 5.parametre thickness (bu değer eksi ise dairenin içi doldurulur), 6. parametre lineType, 7. parametre shift içindir. 7. parametreyi anlamadım.
Örnek
Mavi renkli daire çizmek için şöyle yaparız.
Point center = ...;
int radius = ...;
cv::circle (image, center, radius, Scalar( 255, 0, 0 ), 4, 8, 0 );
ÖrnekMavi renkli daire çizmek için şöyle yaparız.
cv::Mat img = ...;
//draw the circle at the center of your image, with a radius of 50
cv::circle(img, cv::Point(img.rows/2, img.cols/2), 50, cv::Scalar(255, 0, 0),
-1, 8, 0);
Örnek - filled
İçi doldurulan bir daire çizmek için CV_FILLED yani eksi bir değer veririz. Şöyle yaparız.
clipLine metodu
Örnek verİçi doldurulan bir daire çizmek için CV_FILLED yani eksi bir değer veririz. Şöyle yaparız.
cv::circle(img, center, circle_radius, cv::Scalar(1.0, 1.0, 0.3), CV_FILLED);
Eğer için gradient doldurulan bir daire istersek şöyle yaparız.void printGradient(cv::Mat &_input,const cv::Point &_center, const double radius)
{
cv::circle(_input, _center, radius, cv::Scalar(0, 0, 0), -1);
for(double i=1; i<radius; i=i++)
{
const int color = 255-int(i/radius * 255); //or some another color calculation
cv::circle(_input,_center,i,cv::Scalar(color, color, color),2);
}
}
clipLine metodu
ellipse metodu
Örnek ver
ellipse2Poly metodu
Örnek ver
fillConvexPoly metodu
Şöyle yaparız.
cv::Mat img = ...;
cv::Point pts[5] = {
cv::Point(1, 6),
cv::Point(2, 7),
cv::Point(3, 8),
cv::Point(4, 9),
cv::Point(5, 10)
};
cv::fillConvexPoly (img, pts, 5, cv::Scalar(1) );
fillPoly metodu
Elimizde bir nokta dizisi olsun.
cv::Point corners[1][4];
corners[0][0] = Point( 10, 10 );
corners[0][1] = Point( 20, 20 );
corners[0][2] = Point( 30, 10 );
corners[0][3] = Point( 20, 10 );
const Point* corner_list[1] = { corners[0] };
Beyaz renk ile doldurmak için şöyle yaparız.int num_points = 4;
int num_polygons = 1;
int line_type = 8;
cv::Mat mask(30,30,CV_8UC3, cv::Scalar(0,0,0));
cv::fillPoly( mask, corner_list, num_points, num_polygons,
cv::Scalar( 255, 255, 255 ), line_type);
Bu alanı başka bir yere kopyalamak için şöyle yaparız.cv::Mat result;
cv::bitwise_and(source_image, mask, result);
getTextSize metoduÖrnek ver
InitFont metodu
Örnek ver
line metodu
Örnek ver
LineIterator metodu
Örnek ver
rectangle metodu - x1 , y1 , x2 , y2 , color
İmzası şöyle
void rectangle(Mat& img, Point pt1, Point pt2, const Scalar& color,
int thickness=1, int lineType=8, int shift=0);
polylines metoduÖrnek ver
putText metodu
Örnek ver