rectangle函式的使用
在第一次使用cvRectangle繪製矩形的時候遇到一個問題:Error:不存在從“cv::Mat”到"CvArr*"的適當轉換函式,就特意查了查資料,總結如下。
cvRentangle和cv::rectangle函式原型對比:
C: void cvRectangle(CvArr* img, CvPoint pt1, CvPointpt2, CvScalar color, int thickness=1, int line_type=8, int shift=0 )
-
C++:void rectangle(Mat& img,
Point pt1,Point pt2
- C++:void rectangle(Mat& img, Rect rec, const Scalar& color, int thickness=1, int lineType=8, int shift=0 )
引數介紹:
img 影象. pt1 矩形的一個頂點。 pt2 矩形對角線上的另一個頂點 color 線條顏色 (RGB) 或亮度(灰度影象 )(grayscale image)。 thickness 組成矩形的線條的粗細程度。取負值時(如 CV_FILLED)函式繪製填充了色彩的矩形。 line_type 線條的型別。見cvLine的描述 shift 座標點的小數點位數。 程式碼:- #include <iostream>
- #include <opencv2\highgui\highgui.hpp>
- usingnamespace std;
- usingnamespace cv;
- int main()
- {
- char *imageSrc = "I:\\OpenCV Learning\\picture\\sumpalace.jpg";
- Mat matImage = imread(imageSrc,-1);
- IplImage *iplImage = cvLoadImage(imageSrc,-1);
- if(matImage.data==0||iplImage->imageData ==0)
- {
- cout<<"圖片載入失敗"<<endl;
- return -1;
- }
- cv::rectangle(matImage,cvPoint(20,200),cvPoint(200,300),Scalar(255,0,0),1,1,0);
- //Rect(int a,int b,int c,int d)a,b為矩形的左上角座標,c,d為矩形的長和寬
- cv::rectangle(matImage,Rect(100,300,20,200),Scalar(0,0,255),1,1,0);
- cvRectangle(iplImage,cvPoint(20,200),cvPoint(200,300),Scalar(0,255,255),1,1,0);
- imshow("matImage",matImage);
- cvShowImage("IplImage",iplImage);
- waitKey();
- return 0;
- }
#include <iostream>
#include <opencv2\highgui\highgui.hpp>
using namespace std;
using namespace cv;
int main()
{
char *imageSrc = "I:\\OpenCV Learning\\picture\\sumpalace.jpg";
Mat matImage = imread(imageSrc,-1);
IplImage *iplImage = cvLoadImage(imageSrc,-1);
if(matImage.data==0||iplImage->imageData ==0)
{
cout<<"圖片載入失敗"<<endl;
return -1;
}
cv::rectangle(matImage,cvPoint(20,200),cvPoint(200,300),Scalar(255,0,0),1,1,0);
//Rect(int a,int b,int c,int d)a,b為矩形的左上角座標,c,d為矩形的長和寬
cv::rectangle(matImage,Rect(100,300,20,200),Scalar(0,0,255),1,1,0);
cvRectangle(iplImage,cvPoint(20,200),cvPoint(200,300),Scalar(0,255,255),1,1,0);
imshow("matImage",matImage);
cvShowImage("IplImage",iplImage);
waitKey();
return 0;
}
結果:
如果需要在Mat型別的圖上繪製矩形,選擇cv::trctangle()
在IplImage*型別的圖上繪製矩形,選擇cvRectangle()
相關推薦
影象處理中矩形標記影象中某一塊區域matlab中rectangle函式介紹
rectangle('Position',[x,y,w,h]) 從點(x,y)開始繪製一個寬w高h的矩形,對座標軸資料單元指定值。 注意,按指定的比例顯示矩形,需要設定座標軸資料寬高比來使得x和y軸有等長的單位。你可以用命令axis equal 或者daspect([1,
rectangle函式的使用
在第一次使用cvRectangle繪製矩形的時候遇到一個問題:Error:不存在從“cv::Mat”到"CvArr*"的適當轉換函式,就特意查了查資料,總結如下。 cvRentangle和cv::rectangle函式原型對比: C: void cvRe
Matlab中的line()函式和rectangle()函式
Line()函式用法例:畫一條從(x1,y1)到(x2,y2)的線段;線形:實線;顏色:紅色;線寬:4line([x1,x2],[y1,y2],'LineStyle','-','color','r','LineWidth',4);注意:函式引數中第一個中括號中是兩個橫座標,第
Matlab中rectangle函式
rectangle函式功能:建立二維矩形物件。 rectangle('Position',[x,y,w,h]) 從點(x,y)開始繪製一個寬w高h的矩形,對座標軸資料單元指定值。 注意,按指定的比例顯示矩形,需要設定座標軸資料寬高比來使得x和y軸有等長的單位。你可以用
Opencv 中圖形繪製函式 rectangle函式的使用
函式 rectangle: Opencv 原始碼: /** @brief Draws a simple, thick, or filled up-right rectangle. The function rectangle draws a rectangle out
Opencv3中Rect和rectangle函式
一、Rect類template<typename _Tp> class Rect_ { public: typedef _Tp value_type; //! various constructors Rect_(); Rect_
cv::rectangle()函式簡要介紹
void rectangle(Mat& img, Point pt1,Point pt2,const Scalar& color, int thickness=1, int lineType=8, int shift=0) 引數介紹:
rectangle函式matlab
%rectangle函式功能:建立矩形、圓角矩形和橢圓。 用法:rectangle('Position', [x y w h]);在點(x,y)處建立寬和高為(w,h)的矩形 rectangle('Curvature', [0 0], ...);矩形曲
習題 12.4 寫一個程式,定義抽象基類Shape,由它派生出3個派生類:Circle(圓形)、Rectangle(矩形)、Triangle(三角形),用一個函式printArea分別輸出以上。。。
C++程式設計(第三版) 譚浩強 習題12.4 個人設計 習題 12.4 寫一個程式,定義抽象基類Shape,由它派生出3個派生類:Circle(圓形)、Rectangle(矩形)、Triangle(三
習題 12.5 寫一個程式,定義抽象基類Shape,由它派生出5個派生類:Circle、Square、Rectangle、Tarpezoid、Triangle。用虛擬函式分別計算幾種圖形面積,並求。。。
C++程式設計(第三版) 譚浩強 習題12.5 個人設計 習題 12.5 寫一個程式,定義抽象基類Shape,由它派生出5個派生類:Circle、Square、Rectangle、Tarpezoid、Triangle。用虛擬函式分別計算幾種圖形面積,並求它們的和
python-opencv繪圖函式(cv2.line(), cv2.circle(), cv2.rectangle(),cv2.ellipse() cv2. cv2.putText() )
主要有cv2.line()//畫線, cv2.circle()//畫圓, cv2.rectangle()//長方形,cv2.ellipse()//橢圓, cv2.putText()//文字繪製 主要引數 img:源影象 color:需要傳入的顏色 thickness:線條的粗細,預設值是1
編寫一個矩形rectangle類,有資料成員長len和寬wid,建構函式retange(int,int).和友元函式 int area(rectangle T)和int fun(rectangle T
#include <iostream> using namespace std; class rectangle { public: rectangle(int ,int ); friend int area(rectangle T); friend
編寫一個類Rectangle,有長itsLength,寬itsWidth等資料成員,有過載的建構函式Rectangle()、Rectangle(int width,int length)。
#include<iostream>using namespace std; class Rectangle{public: Rectangle() {itsLength=10,itsWidth=5;} Rectangle(int length ,int
FillRect、FrameRect與Rectangle矩形繪製函式使用對比分析
在Windows中,在GDI函式中傳入的引數指定的矩形大小,起始的座標會繪畫,而結束的座標則不會畫到, 也就是至於結束座標的前面一個畫素。所以,從圖上可以看到,我們繪製一個寬80高50的矩形,實際上,我們 繪製的結束xy座標為(79,49),而不是(80,50),而這樣剛好達到了80x50個畫素的大小。
poj 2559 Largest Rectangle in a Histogram 棧
hist func opc txt class sse typedef ++ limit // poj 2559 Largest Rectangle in a Histogram 棧 // // n個矩形排在一塊,不同的高度,讓你求最大的矩形的面積(矩形緊挨在一起)
Tutorial: Generate BBox or Rectangle to locate the target obejct
mil 格式 trac documents rgb ims nts itl tro Tutorial: Generate BBox or Rectangle to locate the target obejct 1 clc;close all;clear
LeetCode 223 Rectangle Area(矩形面積)
lee return common 分享 span spa class tracking mod 翻譯 找到在二維平面中兩個相交矩形的總面積。 每一個矩形都定義了其左下角和右上角的坐標。 (矩形例如以下圖) 如果,總占地面積永遠不會超過int
maximal-rectangle——找出最大矩形的面積
color filled largest 復雜度 組成 繼續 思路 find || Given a 2D binary matrix filled with 0‘s and 1‘s, find the largest rectangle containing all one
【LeetCode】84. Largest Rectangle in Histogram——直方圖最大面積
the area 求解 技術分享 ges sent -s com col alt Given n non-negative integers representing the histogram‘s bar height where the width of each ba
輕量級分組密碼RECTANGLE
blank 組密碼 doc tar tps forms rectangle lock print RECTANGLE是一個輕量級分組密碼算法,由張文濤老師等人設計,詳細內容請參考[1]. [1] RECTANGLE: A Bit-slice Lightweight Bl