python函數(shù)矩形 python定義矩形類

python 用函數(shù)求矩形面積和周長

def fun1(x, y):

創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、網(wǎng)站營銷推廣,國際域名空間,網(wǎng)絡(luò)空間,綿陽服務(wù)器托管有關(guān)企業(yè)網(wǎng)站制作方案、改版、費用等問題,請聯(lián)系創(chuàng)新互聯(lián)公司

#面積

return x * y

def fun2(x, y):

#周長

return 2 * (x +y)

OpenCV Python實現(xiàn)旋轉(zhuǎn)矩形的裁剪

環(huán)境

矩形操作是我們在 OpenCV 里最常用的操作,其中最為常見的就是包圍框( Bounding Box )和旋轉(zhuǎn)矩形( Rotated Box )。 其中包圍框是最為常見的,對應(yīng) OpenCV 中的 boundingRect() ,使用正矩形框處物體,一般多用在目標(biāo)檢測中。使用包圍框框柱目標(biāo)物體,這種操作比較簡單,但是通??蛑幸矔幸恍┢渌膮^(qū)域。其次就是使用旋轉(zhuǎn)矩形,也叫最小外接矩形,對應(yīng) OpenCV 中的 minAreaRect() ,用來使用旋轉(zhuǎn)矩形最大限度的框出目標(biāo)物體,減小背景干擾,在 OCR 任務(wù)中較為常用。

minAreaRect() 返回了所需區(qū)域的最小斜矩形的參數(shù),與包圍框直接返回四個頂點的坐標(biāo)不同,最小外接矩形返回的是矩形的 ((x, y), (w, h), angle) ,對應(yīng)了矩形的中心,寬度,高度和旋轉(zhuǎn)角度。

旋轉(zhuǎn)角度 angle 是水平軸( x 軸)逆時針旋轉(zhuǎn),與碰到的矩形的第一條邊的夾角。并且這個邊的邊長是 width ,另一條邊邊長是 height 。也就是說,在這里 width 與 height 不是按照長短來定義的。

在 OpenCV 中,坐標(biāo)系原點在左上角,相對于 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 ) 是一種二維坐標(biāo)到二維坐標(biāo)之間的線性變換,保持二維圖形的“平直性”( straightness ,即變換后直線還是直線不會打彎,圓弧還是圓?。┖汀捌叫行浴保?parallelness ,其實是指保二維圖形間的相對位置關(guān)系不變,平行線還是平行線,相交直線的交角不變。)。

計算過程:

如果不做邊長和角度的判斷,則只會沿著 x 軸的順時針方向做相同大小角度的旋轉(zhuǎn),不能保證旋轉(zhuǎn)后的視角是正確的視角:

根據(jù)任務(wù)目標(biāo)的類型,做邊長和角度的判斷并進行相應(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)出了圖像邊界,如果你要摳取的目標(biāo)正好在圖像邊緣附近,那么很容易出界導(dǎo)致圖像摳取的缺失。同時我們需要對寬、高和角度做出動態(tài)的調(diào)整;透視變換的方法直接對摳取區(qū)域進行了映射,這種方法可以省略旋轉(zhuǎn)的步驟,并且不會出現(xiàn)摳取內(nèi)容的缺失。同時我們只需要對4個頂點之間的映射關(guān)系做好定義即可,不需要考慮角度的問題。相對的,透視變換相對于仿射變換計算量更大一些,不過這在 c++ 的底層實現(xiàn)上帶來的時延差距小于 ms 。

python .get_rect()得到的矩形有哪些屬性

1、首先用這段打開一張圖片,跟程序不在一個文件夾的話要長地址img=Image.open("1.jpg") #打開圖片1.jpg。

2、a=ImageDraw.ImageDraw(img)由于拿來表示對象的太長,可以用這個來縮減一下,下次用a來表示即可。

3、在圖上畫一個矩形,在100,150起點畫長800寬200的圖形,填充白色,邊框黑色,邊框像素為1。

4、打開文檔說明看看,這段是對函數(shù)的解釋。

5、翻譯一下就很好理解了,xy需要的是長方形的4個點,填充顏色 ?fill = None? ,邊框顏色 outline = None,邊框?qū)挾?width = 0。

Python數(shù)學(xué)應(yīng)用之計算矩形的周長和面積

在日常生活中,我們經(jī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

怎么用python計算長方形面積并保留兩位小數(shù)

用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)。

創(chuàng)建一個python模版,包含兩個函數(shù)一個計算長方形面積一個計算長方形周長?

可以使用如下代碼創(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(

網(wǎng)頁名稱:python函數(shù)矩形 python定義矩形類
URL分享:http://muchs.cn/article2/hggooc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊網(wǎng)站營銷、微信小程序、網(wǎng)站導(dǎo)航網(wǎng)站改版、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(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)

綿陽服務(wù)器托管