• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • opencv學習筆記七:繪制形狀和文字

    標簽: 繪制形狀  添加文本

    主函數如下:

    #include<opencv2/opencv.hpp>
    using namespace cv;
    
    void MyLine();
    void MyRectangle();
    void MyEllipse();
    void MyCircle();
    void MyRandLine();
    
    int main(int arc, char** argv)
    {   
    	Mat src = imread("1.jpg");
    	MyLine();
    	MyRectangle();
    	MyCircle();
    	MyEllipse();	
    	putText(src, "Hello Opencv", Point(30, 30), CV_FONT_HERSHEY_COMPLEX, 1, Scalar(255, 255, 0), 3, 8);
    	MyRandLine();
    
    	namedWindow("src",CV_WINDOW_AUTOSIZE);
    	imshow("src", src);		
    	waitKey(0);
    	return 0;
    }
    

     

    【1】繪制直線:line(img, p1, p2, color, thickness, line_type);

    參數分別為:圖像,起始點,終止點,顏色,線寬,線型。

    void MyLine() {
    	Point p1 = Point(20, 30);
    	Point p2;
    	p2.x = 300, p2.y = 300;
    	Scalar color = Scalar(0, 0, 255);
    	line(src, p1, p2, color, 1, LINE_8);
    }

     

    【2】繪制矩形:rectangle(img,rect,color,thickness,line_type);

    參數分別為:圖像,矩形變量(4個成員,分別為起始點橫坐標,縱坐標,長,寬),顏色,線寬,線型。

    void MyRectangle() {
    	Rect rect = Rect(179, 87, 100, 100);
    	Scalar color = Scalar(255, 0, 0);
    	rectangle(src,rect,color,2,LINE_8);
    }

     

    【3】繪制圓:circle(img, center, radius, color, thickness, line_type);

    參數分別為:圖像,圓心坐標,半徑,顏色,線寬,線型。

    void MyCircle() {
    	Scalar color = Scalar(0, 255, 255);
    	circle(src, Point(src.cols / 2, src.rows / 2), 100, color, 2, LINE_8);
    }

     

    【4】繪制橢圓:ellipse(img, center, size axes, angle, startAngle, endAngle, color, thickness, line_type);

    參數分別為:圖像,橢圓中心坐標,長短軸大小(size變量2個成員,分別為寬和高),角度,起始角度,終止角度,顏色,線寬,線型。

    void MyEllipse() {
    	Scalar color = Scalar(0, 255, 0);
    	ellipse(src, Point(src.cols / 2, src.rows / 2), Size(src.cols / 4, src.rows / 8), 90, 0, 360, color, 2, LINE_8);
    }

     

    【5】繪制文字:putText(img, text, p, font, scale, color, thickness, line_type);

    參數分別為:圖像,文字,起始坐標,字體,放縮,顏色,線寬,線型。

    putText(src, "Hello Opencv", Point(30, 30), CV_FONT_HERSHEY_COMPLEX, 1, Scalar(255, 255, 0), 3, 8);

    【6】繪制隨機線:

    void MyRandLine() {
    	RNG rng(1);//1為隨機種子
    	Point p1, p2;
    	Mat dst = Mat::zeros(src.size(), src.type());
    
    	for (int i = 0; i < 1000; i++) {
    		p1.x = rng.uniform(0, src.cols);
    		p2.x = rng.uniform(0, src.cols);
    		p1.y = rng.uniform(0, src.rows);
    		p2.y = rng.uniform(0, src.rows);
    		Scalar color = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));
    		//程序執行到當前時,會等待50ms,其間用戶觸發了一個按鍵,就會被設置成這個按鍵的ASCLL碼
    		if (waitKey(50) > 0) { 
    			break; 
    		}
    		line(dst, p1, p2, color, 1, 8);
    		namedWindow("隨機線");
    		imshow("隨機線", dst);
    	}
    }

     

    版權聲明:本文為qq_24946843原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_24946843/article/details/82378427

    智能推薦

    OpenCvSharp 學習筆記7 --繪制圖形和文字

    一 繪制線條 API :Cv2.Line() 參數 說明 img: 源圖像 pt1: 第一個點 pt2: 第二個點 color 線條顏色 thickness: 線條的厚度(粗細) lineType: 線條類型 (枚舉值) shift 點坐標中的小數位數。[默認值為0] 代碼: 二 :繪制矩形 API:Cv2.Rectangle() 參數 說明 img: 源圖像 rect: 舉行對象 color 線...

    OpenCV--繪制形狀與文字

    繪制直線 實例代碼: 繪制橢圓 實例代碼: 繪制矩形 實例代碼: 繪制圓形 實例代碼: 填充圖案 實例代碼: 繪制隨機線條 隨機數生成器:RNG 實例代碼: 繪制文字 實例代碼:...

    OpenCV學習筆記(四)——繪制簡形狀與文本

    前言:         在圖像處理的過程中,我們有時需要在圖像或者視頻上畫上一些圖案或者繪上一些文字,在OpenCV中這非常的容易實現。OpenCV中提供了各種功能的繪圖函數,使用這些函數,我們可以在圖像上繪制直線、矩形、圓、橢圓、多邊形等等。 一、繪制直線     在OpenCV中提供了line(...

    opencv學習八(繪制直線,矩形等幾何形狀,添加文字)line,rectangle,fillPoly

    要點: LINE_4/LINE_8都有鋸齒,LINE_AA無鋸齒; 新建一個空白圖: Mat t1; t1.create(500, 500, CV_8UC3); t1 = Scalar(255, 255, 255); 或者Mat t1(500,500,CV_8UC3,Scalar(255,255,255); 新建直線: line(t1, p1, p2, color, 1, LINE_8); //背...

    OpenCV基礎課程筆記08繪制圖形和文字

    寫在前面 Vec3b -> uchar Vec3f -> float src.convertTo(dst.CV_23F);//轉換方式 比較重要的隨機數API RNG rng(12345); rng.uniform(min,max); 代碼 結果 不想在其他小姐姐身上寫I like you,先用自己的照片代替女友那……不行流鼻血了。 胡亂劃線的函數...

    猜你喜歡

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡