在日常生活中,我們經(jīng)常會需要去計算周長或者面積.雖然說難度不大,但是很多時候在寫程序的時候,比如一張圖片的面積,或者頁面布局的時候也是會需要用到的.

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、三山ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的三山網(wǎng)站制作公司
#定義計算矩形周長的函數(shù)
def? girth(width,height):
return (width+height)*2
#定義計算矩形面積的函數(shù)
def area(width,height):
return width*height
if __name__ =='__main__':
print(area(10,20))
print(girth(25,50))
62.83
706.86
def fun1(x, y):
#面積
return x * y
def fun2(x, y):
#周長
return 2 * (x +y)
用python計算長方形面積并保留兩位小數(shù),需要使用Python中字符串格式化的方法或者round()函數(shù)的方法。
1、打開python的編輯器pycharm,并為這個程序?qū)懮献⑨尩膬?nèi)容,新建一個變量a,利用round函數(shù)將a的值保留2位數(shù)。
2、假設(shè)area為存儲結(jié)果的變量,操作方法如下:字符串格式化:area=float("%.2f".area)。
你問的應(yīng)該是pygame.Surface.get_rect(),這個函數(shù)返回當前面的一個長方形。
例如'mysurf.get_rect(center=(100,100)),你會創(chuàng)建一個位于surface中央的長方形。
外接矩形說的一般是某個輪廓的最小外接矩形,就是最小的能包含那個輪廓的矩形。
可以使用如下代碼創(chuàng)建一個Python模板,包含兩個函數(shù):一個計算長方形面積的函數(shù),一個計算長方形周長的函數(shù)。
# 定義一個函數(shù),用于計算長方形的面積
def rectangle_area(length, width):
return length * width
# 定義一個函數(shù),用于計算長方形的周長
def rectangle_perimeter(length, width):
return 2 * (length + width)
在這段代碼中,“rectangle_area”函數(shù)用于計算長方形的面積,“rectangle_perimeter”函數(shù)用于計算長方形的周長。兩個函數(shù)都接收兩個參數(shù):長方形的長和寬。
要使用這兩個函數(shù),可以使用如下代碼:
# 輸入長方形的長和寬
length = float(input('請輸入長方形的長:'))
width = float(
環(huán)境
矩形操作是我們在 OpenCV 里最常用的操作,其中最為常見的就是包圍框( Bounding Box )和旋轉(zhuǎn)矩形( Rotated Box )。 其中包圍框是最為常見的,對應(yīng) OpenCV 中的 boundingRect() ,使用正矩形框處物體,一般多用在目標檢測中。使用包圍框框柱目標物體,這種操作比較簡單,但是通常框中也會有一些其他的區(qū)域。其次就是使用旋轉(zhuǎn)矩形,也叫最小外接矩形,對應(yīng) OpenCV 中的 minAreaRect() ,用來使用旋轉(zhuǎn)矩形最大限度的框出目標物體,減小背景干擾,在 OCR 任務(wù)中較為常用。
minAreaRect() 返回了所需區(qū)域的最小斜矩形的參數(shù),與包圍框直接返回四個頂點的坐標不同,最小外接矩形返回的是矩形的 ((x, y), (w, h), angle) ,對應(yīng)了矩形的中心,寬度,高度和旋轉(zhuǎn)角度。
旋轉(zhuǎn)角度 angle 是水平軸( x 軸)逆時針旋轉(zhuǎn),與碰到的矩形的第一條邊的夾角。并且這個邊的邊長是 width ,另一條邊邊長是 height 。也就是說,在這里 width 與 height 不是按照長短來定義的。
在 OpenCV 中,坐標系原點在左上角,相對于 x 軸,逆時針旋轉(zhuǎn)角度為負,順時針旋轉(zhuǎn)角度為正,所以函數(shù) minAreaRect() 返回的角度范圍時 [-90~0) 。想象一個平放的長矩形,調(diào)用 minAreaRect() 返回的角度為 -90 度。如果我們旋轉(zhuǎn)圖像,直到矩形樹立起來,這是調(diào)用 minAreaRect() 得到的角度依然是 -90 度。
第一種裁剪旋轉(zhuǎn)矩形的方法是通過仿射變換旋轉(zhuǎn)圖像的方式。
仿射變換( Affine Transformation ) 是一種二維坐標到二維坐標之間的線性變換,保持二維圖形的“平直性”( straightness ,即變換后直線還是直線不會打彎,圓弧還是圓弧)和“平行性”( parallelness ,其實是指保二維圖形間的相對位置關(guān)系不變,平行線還是平行線,相交直線的交角不變。)。
計算過程:
如果不做邊長和角度的判斷,則只會沿著 x 軸的順時針方向做相同大小角度的旋轉(zhuǎn),不能保證旋轉(zhuǎn)后的視角是正確的視角:
根據(jù)任務(wù)目標的類型,做邊長和角度的判斷并進行相應(yīng)的調(diào)整,可以保證旋轉(zhuǎn)后的視角是正確的視角:
第二種裁剪旋轉(zhuǎn)矩形的方法是通過透視變換直接將旋轉(zhuǎn)矩形的四個頂點映射到正矩形的四個頂點。
透視變換( Perspective Transformation )是將圖片投影到一個新的視平面( Viewing Plane ),也稱作投影映射( Projective Mapping )。
計算過程:
以上兩種方法都可以用來摳取旋轉(zhuǎn)矩形的內(nèi)容。仿射變換方法需要預(yù)先對整張圖進行旋轉(zhuǎn),通過觀察旋轉(zhuǎn)后的圖像可以發(fā)現(xiàn),有一部分圖像被旋轉(zhuǎn)出了圖像邊界,如果你要摳取的目標正好在圖像邊緣附近,那么很容易出界導(dǎo)致圖像摳取的缺失。同時我們需要對寬、高和角度做出動態(tài)的調(diào)整;透視變換的方法直接對摳取區(qū)域進行了映射,這種方法可以省略旋轉(zhuǎn)的步驟,并且不會出現(xiàn)摳取內(nèi)容的缺失。同時我們只需要對4個頂點之間的映射關(guān)系做好定義即可,不需要考慮角度的問題。相對的,透視變換相對于仿射變換計算量更大一些,不過這在 c++ 的底層實現(xiàn)上帶來的時延差距小于 ms 。
網(wǎng)站標題:vb.net七慘計算的簡單介紹
標題來源:http://chinadenli.net/article36/hcjspg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、小程序開發(fā)、Google、建站公司、企業(yè)建站、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)