小編寫這篇文章的一個主要目的,主要就是給大家介紹python數字圖像處理的一些相關介紹,介紹的內容主要是涉及到基本圖像圖形的一些繪制,具體的內容是哪些呢?下面就給大家詳細的解答一下。
引言
圖形包括線條、圓形、橢圓形、多邊形等。
在skimage包中,繪制圖形用的是draw模塊,不要和繪制圖像搞混了。
1、畫線條
函數調用格式為:
skimage.draw.line(r1,c1,r2,c2)
r1,r2:開始點的行數和結束點的行數
c1,c2:開始點的列數和結束點的列數
返回當前繪制圖形上所有點的坐標,如:
rr,cc=draw.line(1,5,8,2)
表示從(1,5)到(8,2)連一條線,返回線上所有的像素點坐標[rr,cc]
from skimage import draw,data import matplotlib.pyplot as plt img=data.chelsea() rr,cc=draw.line(1,150,470,450) img[rr,cc]=255 plt.imshow(img,plt.cm.gray)
如果想畫其它顏色的線條,則可以使用set_color()函數,格式為:
skimage.draw.set_color(img,coords,color)
例:
draw.set_color(img,[rr,cc],[255,0,0])
則繪制紅色線條。
from skimage import draw,data import matplotlib.pyplot as plt img=data.chelsea() rr,cc=draw.line(1,150,270,250) draw.set_color(img,[rr,cc],[0,0,255]) plt.imshow(img,plt.cm.gray)
2、畫圓
函數格式:skimage.draw.circle(cy,cx,radius)
cy和cx表示圓心點,radius表示半徑
from skimage import draw,data import matplotlib.pyplot as plt img=data.chelsea() rr,cc=draw.circle(150,150,50) draw.set_color(img,[rr,cc],[255,0,0]) plt.imshow(img,plt.cm.gray)
3、多邊形
函數格式:skimage.draw.polygon(Y,X)
Y為多邊形頂點的行集合,X為各頂點的列值集合。
from skimage import draw,data import matplotlib.pyplot as plt import numpy as np img=data.chelsea() Y=np.array([10,10,60,60]) X=np.array([200,400,400,200]) rr,cc=draw.polygon(Y,X) draw.set_color(img,[rr,cc],[255,0,0]) plt.imshow(img,plt.cm.gray)
我在此處只設置了四個頂點,因此是個四邊形。
4、橢圓
格式:skimage.draw.ellipse(cy,cx,yradius,xradius)
cy和cx為中心點坐標,yradius和xradius代表長短軸。
from skimage import draw,data import matplotlib.pyplot as plt img=data.chelsea() rr,cc=draw.ellipse(150,150,30,80) draw.set_color(img,[rr,cc],[255,0,0]) plt.imshow(img,plt.cm.gray)
5、貝塞兒曲線
格式:skimage.draw.bezier_curve(y1,x1,y2,x2,y3,x3,weight)
y1,x1表示第一個控制點坐標
y2,x2表示第二個控制點坐標
y3,x3表示第三個控制點坐標
weight表示中間控制點的權重,用于控制曲線的彎曲度。
from skimage import draw,data import matplotlib.pyplot as plt img=data.chelsea() rr,cc=draw.bezier_curve(150,50,50,280,260,400,2) draw.set_color(img,[rr,cc],[255,0,0]) plt.imshow(img,plt.cm.gray)
6、畫空心圓
和前面的畫圓是一樣的,只是前面是實心圓,而此處畫空心圓,只有邊框線。
格式:skimage.draw.circle_perimeter(yx,yc,radius)
yx,yc是圓心坐標,radius是半徑
from skimage import draw,data import matplotlib.pyplot as plt img=data.chelsea() rr,cc=draw.circle_perimeter(150,150,50) draw.set_color(img,[rr,cc],[255,0,0]) plt.imshow(img,plt.cm.gray)
7、空心橢圓
格式:skimage.draw.ellipse_perimeter(cy,cx,yradius,xradius)
cy,cx表示圓心 yradius,xradius表示長短軸 from skimage import draw,data import matplotlib.pyplot as plt img=data.chelsea() rr,cc=draw.ellipse_perimeter(150,150,30,80) draw.set_color(img,[rr,cc],[255,0,0]) plt.imshow(img,plt.cm.gray)
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128822.html
摘要:之成為圖像處理任務的最佳選擇,是因為這一科學編程語言日益普及,并且其自身免費提供許多最先進的圖像處理工具。該庫包含基本的圖像處理功能,包括點操作使用一組內置卷積內核進行過濾以及顏色空間轉換。圖像處理系統有時被稱為圖像處理的瑞士軍刀。 showImg(https://segmentfault.com/img/remote/1460000019442221);編譯:張秋玥、小七、蔣寶尚 本...
摘要:微積分微積分的課程我們也同樣是推薦和的課程。還有一個斯坦福大學的統計學習入門英文字幕相當不錯。所以,除了繪制數學圖形外,學習數學就應該完全與編程有機結合。 無論是三大數學軟件Matlab(通信、控制等工程例外)、Maple、Mathematica,還是三大統計軟件Spass、Stata、SAS,這些可視化的軟件本身就是編程的一個體現,它們在一定程度上降低了我們使用數學的門檻,但另一方面...
摘要:概述是使用開發的一個繪圖庫,是界進行數據可視化的首選庫。可以通過圖形示例來快速瀏覽所有支持的圖形。最后,調用把繪制好的圖形顯示出來。對應于三個參數,表示行,表示列,表示位置。因此,表示在圖表中總共有個圖形,當前新增的圖形添加到位置。 showImg(https://segmentfault.com/img/bV6EPD?w=542&h=130); 概述 Matplotlib 是使用 P...
摘要:書接上文瀏覽器內核之渲染基礎硬件加速基礎概念硬件加速技術是指使用的硬件能力為幫助渲染網頁,在為的作用主要是用來繪制圖形并且性能特別好。包含的節點表示的是使用硬件加速的元素或者技術。 showImg(https://segmentfault.com/img/remote/1460000016348971); 微信公眾號:愛寫bugger的阿拉斯加如有問題或建議,請后臺留言,我會盡力解決你...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02