真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python函數(shù)圖像交點(diǎn) python找到兩個(gè)曲線的交點(diǎn)

python繪制函數(shù)圖像

raw_input獲取的輸入是字符串,不能直接用np.array,需要用split進(jìn)行切分,然后強(qiáng)制轉(zhuǎn)化成數(shù)值類型,才能用plot函數(shù)

我們提供的服務(wù)有:網(wǎng)站制作、成都做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、利州ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的利州網(wǎng)站制作公司

我把你的代碼稍微修改了一下,可能不太漂亮,不過(guò)能運(yùn)行了

x=[1,2,3]

a = raw_input('function')

a = a.split(' ')#依空格對(duì)字符串a(chǎn)進(jìn)行切分,如果是用逗號(hào)分隔,則改成a.split(',')

b = []

for i in range(len(a)):#把切分好的字符強(qiáng)制轉(zhuǎn)化成int類型,如果是小數(shù),將int改為float

b.append(int(a[i]))

plt.plot(x, b, label='x', color="green", linewidth=1)

Python OpenCV 霍夫(Hough Transform)直線變換檢測(cè)原理,圖像處理第 33 篇博客

霍夫變換(Hough Transform)是圖像處理領(lǐng)域中,從圖像中識(shí)別幾何形狀的基本方法之一。主要識(shí)別具有某些相同特征的幾何形狀,例如直線,圓形,本篇博客的目標(biāo)就是從黑白圖像中識(shí)別出直線。

翻閱霍夫直線變換的原理時(shí)候,橡皮擦覺(jué)得原理部分需要先略過(guò),否則很容易在這個(gè)地方陷進(jìn)去,但是問(wèn)題來(lái)了,這個(gè)原理略過(guò)了,直接應(yīng)用函數(shù),里面有些參數(shù)竟然看不懂。例如極坐標(biāo),角度掃描范圍,這種函數(shù)就屬于繞不過(guò)去的知識(shí)點(diǎn)了,所以本文轉(zhuǎn)移方向,死磕原理,下面的博文將語(yǔ)無(wú)倫次的為你展示如何學(xué)習(xí)原理知識(shí)。

因?yàn)閿?shù)學(xué)知識(shí)的貧乏,所以在學(xué)習(xí)階段會(huì)涉及到很多基礎(chǔ)概念的學(xué)習(xí),一起來(lái)吧。

首先找到相對(duì)官方的資料,打開(kāi)該 地址

下面是一個(gè)數(shù)學(xué)小白對(duì)原理的學(xué)習(xí)經(jīng)驗(yàn)。

教材說(shuō):眾所周知,一條直線在圖像二維空間可由兩個(gè)變量表示。

抱歉,小白還真不知道……即使學(xué)習(xí)過(guò),這些年也早已經(jīng)還給老師了。

一開(kāi)始難道要學(xué)習(xí)笛卡爾坐標(biāo)系,不,你低估小白的能力了,我第一個(gè)查詢的是 θ 讀作 西塔 ,是一個(gè)希臘字母。

什么是笛卡爾坐標(biāo)系?

這個(gè)比較簡(jiǎn)單,直角坐標(biāo)系。

斜率和截距

斜率,亦稱“角系數(shù)”,表示一條直線相對(duì)于橫坐標(biāo)軸的傾斜程度。

一條直線與某平面直角坐標(biāo)系橫坐標(biāo)軸正半軸方向的夾角的正切值即該直線相對(duì)于該坐標(biāo)系的斜率。

如果直線與 x 軸互相垂直,直角的正切直無(wú)窮大,故此直線不存在斜率。

對(duì)于一次函數(shù) y=kx+b , k 就是該函數(shù)圖像的斜率。

在學(xué)習(xí)的時(shí)候,也學(xué)到如下內(nèi)容:

截距:對(duì) x 的截距就是 y=0 時(shí), x 的值,對(duì) y 的截距就是 x=0 時(shí), y 的值,

截距就是直線與坐標(biāo)軸的交點(diǎn)的橫(縱)坐標(biāo)。 x 截距為 a , y 截距 b ,截距式就是: x/a+y/b=1(a≠0且b≠0) 。

斜率:對(duì)于任意函數(shù)上任意一點(diǎn),其斜率等于其切線與 x 軸正方向所成的角,即 k=tanα 。 ax+by+c=0中,k=-a/b 。

什么是極坐標(biāo)系?

關(guān)于極坐標(biāo)系,打開(kāi) 百度百科 學(xué)習(xí)一下即可。

重點(diǎn)學(xué)到下面這個(gè)結(jié)論就行:

找資料的時(shí)候,發(fā)現(xiàn)一個(gè)解釋的比較清楚的 博客 ,后續(xù)可以繼續(xù)學(xué)習(xí)使用。

繼續(xù)閱讀資料,看到如下所示的圖,這個(gè)圖也出現(xiàn)在了很多解釋原理的博客里面,但是圖下面寫(xiě)了一句話

在這里直接蒙掉了,怎么就表示成極坐標(biāo)系了?上面這個(gè)公式依舊是笛卡爾坐標(biāo)系表示直線的方式呀,只是把 k 和 b 的值給替換掉了。

為何是這樣的,具體原因可以參照下圖。

centerchou 圖/center

繼續(xù)尋找關(guān)于霍夫變換的資料,找到一個(gè)新的概念 霍夫空間 。

在笛卡爾坐標(biāo)系中,一條直線可以用公式 表示,其中 k 和 b 是參數(shù),表示的是斜率和截距。

接下來(lái)將方程改寫(xiě)為 ,這時(shí)就建立了一個(gè)基于 k - b 的笛卡爾坐標(biāo)系。

此時(shí)這個(gè)新的方程在 k - b 坐標(biāo)系也有一個(gè)新的直線。

你可以在紙上畫(huà)出這兩個(gè)方程對(duì)應(yīng)的線和點(diǎn),如下圖所示即可。

centerchou 圖/center

新的 k - b 坐標(biāo)系就叫做霍夫空間,這時(shí)得到一個(gè)結(jié)論,圖像空間 x - y 中的點(diǎn) 對(duì)應(yīng)了 霍夫空間 k - b 中的一條直線 ,即圖像空間的點(diǎn)與霍夫空間的直線發(fā)生了對(duì)應(yīng)關(guān)系。

如果在圖像空間 x - y 中在增加一個(gè)點(diǎn) ,那相應(yīng)的該點(diǎn)在霍夫空間也會(huì)產(chǎn)生相同的點(diǎn)與線的對(duì)應(yīng)關(guān)系,并且 A 點(diǎn)與 B 點(diǎn)產(chǎn)生的直線會(huì)在霍夫空間相交于一個(gè)點(diǎn)。而這個(gè)點(diǎn)的坐標(biāo)值 就是直線 AB 的參數(shù)。

如果到這里你掌握了,這個(gè)性質(zhì)就為我們解決直線檢測(cè)提供了方法,只需要把圖像空間的直線對(duì)應(yīng)到霍夫空間的點(diǎn),然后統(tǒng)計(jì)交點(diǎn)就可以達(dá)到目的,例如圖像空間中有 3 條直線,那對(duì)應(yīng)到霍夫空間就會(huì)有 3 個(gè)峰值點(diǎn)。

遍歷圖像空間中的所有點(diǎn),將點(diǎn)轉(zhuǎn)換到霍夫空間,形成大量直線,然后統(tǒng)計(jì)出直線交會(huì)的點(diǎn),每個(gè)點(diǎn)的坐標(biāo)都是圖像空間直線方程參數(shù),這時(shí)就能得到圖像空間的直線了。

上述的內(nèi)容沒(méi)有問(wèn)題,但是存在一種情況是,當(dāng)直線趨近于垂直時(shí),斜率 k 會(huì)趨近于無(wú)窮大,這時(shí)就沒(méi)有辦法轉(zhuǎn)換了,解決辦法是使用法線來(lái)表示直線。

上文提及的斜截式如下:

通過(guò)第二個(gè)公式,可以得到下述公式:

此時(shí),我們可以帶入一些數(shù)值進(jìn)行轉(zhuǎn)換。

圖像空間有如下的幾個(gè)點(diǎn):

轉(zhuǎn)換后的函數(shù),都可以在霍夫空間 θ - ρ (橫坐標(biāo)是 θ ,縱坐標(biāo)是 ρ )進(jìn)行表示。

原理這時(shí)就比較清晰了:

除了一些數(shù)學(xué)知識(shí)以外,經(jīng)典的博客我們也有必要記錄一下,方便后面學(xué)習(xí)的時(shí)候,進(jìn)行復(fù)盤(pán)。

本部分用于記錄本文中提及的相關(guān)數(shù)學(xué)原理,后續(xù)還要逐步埋坑。

今天涉及了一點(diǎn)點(diǎn)數(shù)學(xué)知識(shí),能力限制,大家一起學(xué)習(xí),有錯(cuò)誤的地方,可以在評(píng)論區(qū)指出,不勝感激。

希望今天的 1 個(gè)小時(shí)(今天內(nèi)容有點(diǎn)多,不一定可以看完),你有所收獲,我們下篇博客見(jiàn)~

相關(guān)閱讀

技術(shù)專欄

逗趣程序員

python中circle函數(shù)如何畫(huà)交叉三環(huán)

根據(jù)圓心位置及半徑畫(huà)。

半徑為正時(shí),圓心在畫(huà)筆左邊,半徑為負(fù)時(shí),圓心在畫(huà)筆右邊,圓心在畫(huà)筆所在方向切線的垂直方向上。

畫(huà)筆朝向逆時(shí)針?lè)较?,背向順時(shí)針?lè)较虻雇水?huà)圓弧,即可得到。

python繪圖篇

1,xlable,ylable設(shè)置x,y軸的標(biāo)題文字。

2,title設(shè)置標(biāo)題。

3,xlim,ylim設(shè)置x,y軸顯示范圍。

plt.show()顯示繪圖窗口,通常情況下,show()會(huì)阻礙程序運(yùn)行,帶-wthread等參數(shù)的環(huán)境下,窗口不會(huì)關(guān)閉。

plt.saveFig()保存圖像。

面向?qū)ο罄L圖

1,當(dāng)前圖表和子圖可以用gcf(),gca()獲得。

subplot()繪制包含多個(gè)圖表的子圖。

configure subplots,可調(diào)節(jié)子圖與圖表邊框距離。

可以通過(guò)修改配置文件更改對(duì)象屬性。

圖標(biāo)顯示中文

1,在程序中直接指定字體。

2, 在程序開(kāi)始修改配置字典reParams.

3,修改配置文件。

Artist對(duì)象

1,圖標(biāo)的繪制領(lǐng)域。

2,如何在FigureCanvas對(duì)象上繪圖。

3,如何使用Renderer在FigureCanvas對(duì)象上繪圖。

FigureCanvas和Render處理底層圖像操作,Artist處理高層結(jié)構(gòu)。

分為簡(jiǎn)單對(duì)象和容器對(duì)象,簡(jiǎn)單的Aritist是標(biāo)準(zhǔn)的繪圖元件,例如Line 2D,Rectangle,Text,AxesImage等,而容器類型包含許多簡(jiǎn)單的的 Aritist對(duì)象,使他們構(gòu)成一個(gè)整體,例如Axis,Axes,Figure等。

直接創(chuàng)建Artist對(duì)象進(jìn)項(xiàng)繪圖操作步奏:

1,創(chuàng)建Figure對(duì)象(通過(guò)figure()函數(shù),會(huì)進(jìn)行許多初始化操作,不建議直接創(chuàng)建。)

2,為Figure對(duì)象創(chuàng)建一個(gè)或多個(gè)Axes對(duì)象。

3,調(diào)用Axes對(duì)象的方法創(chuàng)建各類簡(jiǎn)單的Artist對(duì)象。

Figure容器

如何找到指定的Artist對(duì)象。

1,可調(diào)用add_subplot()和add_axes()方法向圖表添加子圖。

2,可使用for循環(huán)添加?xùn)鸥瘛?/p>

3,可通過(guò)transform修改坐標(biāo)原點(diǎn)。

Axes容器

1,patch修改背景。

2,包含坐標(biāo)軸,坐標(biāo)網(wǎng)格,刻度標(biāo)簽,坐標(biāo)軸標(biāo)題等內(nèi)容。

3,get_ticklabels(),,get-ticklines獲得刻度標(biāo)簽和刻度線。

1,可對(duì)曲線進(jìn)行插值。

2,fill_between()繪制交點(diǎn)。

3,坐標(biāo)變換。

4,繪制陰影。

5,添加注釋。

1,繪制直方圖的函數(shù)是

2,箱線圖(Boxplot)也稱箱須圖(Box-whisker Plot),是利用數(shù)據(jù)中的五個(gè)統(tǒng)計(jì)量:最小值、第一四分位

數(shù)、中位數(shù)、第三四分位數(shù)與最大值來(lái)描述數(shù)據(jù)的一種方法,它可以粗略地看出數(shù)據(jù)是否具有對(duì)稱性以及分

布的分散程度等信息,特別可以用于對(duì)幾個(gè)樣本的比較。

3,餅圖就是把一個(gè)圓盤(pán)按所需表達(dá)變量的觀察數(shù)劃分為若干份,每一份的角度(即面積)等價(jià)于每個(gè)觀察

值的大小。

4,散點(diǎn)圖

5,QQ圖

低層繪圖函數(shù)

類似于barplot(),dotchart()和plot()這樣的函數(shù)采用低層的繪圖函數(shù)來(lái)畫(huà)線和點(diǎn),來(lái)表達(dá)它們?cè)陧?yè)面上放置的位置以及其他各種特征。

在這一節(jié)中,我們會(huì)描述一些低層的繪圖函數(shù),用戶也可以調(diào)用這些函數(shù)用于繪圖。首先我們先講一下R怎么描述一個(gè)頁(yè)面;然后我們講怎么在頁(yè)面上添加點(diǎn),線和文字;最后講一下怎么修改一些基本的圖形。

繪圖區(qū)域與邊界

R在繪圖時(shí),將顯示區(qū)域劃分為幾個(gè)部分。繪制區(qū)域顯示了根據(jù)數(shù)據(jù)描繪出來(lái)的圖像,在此區(qū)域內(nèi)R根據(jù)數(shù)據(jù)選擇一個(gè)坐標(biāo)系,通過(guò)顯示出來(lái)的坐標(biāo)軸可以看到R使用的坐標(biāo)系。在繪制區(qū)域之外是邊沿區(qū),從底部開(kāi)始按順時(shí)針?lè)较蚍謩e用數(shù)字1到4表示。文字和標(biāo)簽通常顯示在邊沿區(qū)域內(nèi),按照從內(nèi)到外的行數(shù)先后顯示。

添加對(duì)象

在繪制的圖像上還可以繼續(xù)添加若干對(duì)象,下面是幾個(gè)有用的函數(shù),以及對(duì)其功能的說(shuō)明。

?points(x, y, ...),添加點(diǎn)

?lines(x, y, ...),添加線段

?text(x, y, labels, ...),添加文字

?abline(a, b, ...),添加直線y=a+bx

?abline(h=y, ...),添加水平線

?abline(v=x, ...),添加垂直線

?polygon(x, y, ...),添加一個(gè)閉合的多邊形

?segments(x0, y0, x1, y1, ...),畫(huà)線段

?arrows(x0, y0, x1, y1, ...),畫(huà)箭頭

?symbols(x, y, ...),添加各種符號(hào)

?legend(x, y, legend, ...),添加圖列說(shuō)明

Python matplotlib之函數(shù)圖像繪制、線條rc參數(shù)設(shè)置

為避免中文顯示出錯(cuò),需導(dǎo)入matplotlib.pylab庫(kù)

1.2.1 確定數(shù)據(jù)

1.2.2 創(chuàng)建畫(huà)布

1.2.3 添加標(biāo)題

1.2.4 添加x,y軸名稱

1.2.5 添加x,y軸范圍

1.2.6 添加x,y軸刻度

1.2.7 繪制曲線、圖例, 并保存圖片

保存圖片時(shí),dpi為清晰度,數(shù)值越高越清晰。請(qǐng)注意,函數(shù)結(jié)尾處,必須加plt.show(),不然圖像不顯示。

繪制流程與繪制不含子圖的圖像一致,只需注意一點(diǎn):創(chuàng)建畫(huà)布。

合理調(diào)整figsize、dpi,可避免出現(xiàn)第一幅圖橫軸名稱與第二幅圖標(biāo)題相互遮蓋的現(xiàn)象.

2.2.1 rc參數(shù)類型

2.2.2 方法1:使用rcParams設(shè)置

2.2.3 方法2:plot內(nèi)設(shè)置

2.2.4 方法3:plot內(nèi)簡(jiǎn)化設(shè)置

方法2中,線條形狀,linestyle可簡(jiǎn)寫(xiě)為ls;線條寬度,linewidth可簡(jiǎn)寫(xiě)為lw;線條顏色,color可簡(jiǎn)寫(xiě)為c,等等。


分享名稱:Python函數(shù)圖像交點(diǎn) python找到兩個(gè)曲線的交點(diǎn)
鏈接URL:http://weahome.cn/article/hjpige.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部