導航:首頁 > 圖片大全 > tkinter中的cv2圖片如何繪畫

tkinter中的cv2圖片如何繪畫

發布時間:2022-04-23 22:58:35

『壹』 怎麼用python中cv2模塊的imwrite截取不規則四邊形的圖片。

.計算要裁剪區域四邊形的相對水平方向的旋轉角度;

2.將原圖旋轉該角度,以使得要裁剪的區域旋轉到水平方向;

3.將要裁剪區域的坐標做相應的轉換,轉換為旋轉後的坐標;

4.對該區域進行裁剪。

# -*- coding:utf-8 -*- import cv2 from math import * import numpy as np import time,math import os import re

『貳』 用python中tkinter作圖怎麼畫樹的枝幹

class node: left=None right=None def __init__(self, parent=None): self.parent=parent 賦值的時候對應就好了。如root=node(),a=node(root),root.left=a,就有點像C語言里的指針了。

『叄』 python中tkinter怎麼將畫布保存為圖像

可以通過Canvas的postscript方法,將畫布內容封裝成 PostScript 格式,然後再通過其它圖片操作轉為你需要的圖片格式

『肆』 怎麼用python opencv連線畫圖

import cv2
import numpy as np

img_size = (210,210)
image = np.ones(img_size) * 255

x1 = 10
y1 =10
x2 = 200
y2 = 200

lineThickness = 2
cv2.line(image, (x1, y1), (x1, y2), (0,255,0), lineThickness)
cv2.line(image, (x1, y1), (x2, y1), (0,255,0), lineThickness)
cv2.line(image, (x1, y2), (x2, y2), (0,255,0), lineThickness)
cv2.line(image, (x2, y1), (x2, y2), (0,255,0), lineThickness)

cv2.imshow('oo',image)
cv2.waitKey()

『伍』 Python tkinter 在背景圖片上怎麼加pylab畫出的圖

#coding:utf-8

importTkinterasTK
fromPILimportImage,ImageTk

defdata_matplotlib():
importnumpyasnp
importmatplotlib.pyplotasplt

....
plt.savefig('tmp.png')
returnImageTk.PhotoImage(Image.open('tmp.png'))

#Definition
image='Hydrangeas.jpg'

#Tkinter
root=TK.Tk()
root.title('載入圖形數據')
root.geometry('1024x768+1+1')
root.update()
canvas=TK.Canvas(root,width=1024,height=768,bg='green')
image_data=ImageTk.PhotoImage(Image.open(image))
canvas.create_image(0,0,image=image_data,anchor=TK.NW)
i=data_matplotlib()
canvas.create_image(100,200,image=i,anchor=TK.NW)
canvas.create_text(root.winfo_width()/2,root.winfo_height()/10,
text='Sample',font=('Arial',18),fill='white')
canvas.pack(side=TK.TOP,expand=1,fill='both')

root.mainloop()

不過,使用中間圖片還是有點難看,不知道哪位對matplotlib熟悉點的可以指教一下?

『陸』 Python3 tkinter,怎麼在Label/Canvas中插入圖片

tkinter基於tcl/tk,只支持gif、png和bitmap點陣圖,其餘圖片格式需要通過第三方庫PIL(pillow)提供的ImageTk轉化為tcl/tk能夠接受的圖片數據。

『柒』 如何利用Tkinter中Canvas繪制曲線圖,請教高手

採用tdbchart控制項
procere TForm1.Button1Click(Sender: Object);
var
LS: TLineSeries;
begin
LS := TLineSeries.Create(DBChart1); //這里假設你用的是DBChart1
LS.ParentChart := DBChart1;
LS.Title := '標題'
LS.DataSource := Adoquery1; //這里假設你用的adoquery1作為dataset
LS.XLabelsSource := '你橫坐標要顯示的欄位名稱';
LS.YValues.ValueSource := 『縱坐標的欄位名稱'; //必須是數值型
end;

『捌』 python用cv2怎麼輸出圖像的基本信息

源碼:
#!/usr/bin/env python
#coding=utf-8
__author__ = 'zhangdebin'

import cv2

if __name__ == '__main__':
#image read
image = cv2.imread("/Users/zhangdebin/Documents/checkFace2.jpg")
image0 = cv2.imread("/Users/zhangdebin/Documents/checkFace2.jpg",0)
image1 = cv2.imread("/Users/zhangdebin/Documents/checkFace2.jpg",1)

print image
cv2.namedWindow("the window")
cv2.imshow("the window", image)
cv2.namedWindow("the window0")
cv2.imshow("the window0", image0)
cv2.namedWindow("the window1")
cv2.imshow("the window1", image1)

cv2.waitKey(0)

其中,cv2是我在mac系統中安裝的python-opencv包,具體安裝方法在另一篇博文有介紹,
cv2.imread和matlab中的imread函數很像,其中源碼有一個參數imread(…)
imread(filename[, flags]) -> retval,falgs經測試,當預設時為原圖像,當falgs=0時,因為只讀取第一個位元組,彩色圖像讀取為灰度圖像,當falgs逐漸增加,向7(0~7,8位)靠攏時,位元組數增加,圖像色彩越來越靠近原圖像,當超過8位,比如8,變為(8-8=0),又是只取一個位元組,視覺效果為灰度圖,同理,15位為原圖,有興趣的朋友可以自己測試下,具體效果見下圖:

同時,cv2中自帶了falgs =cv2.CV_LOAD_IMAGE_GRAYSCALE或
cv2.CV_LOAD_IMAGE_COLOR,其實這兩個參數和上面是一樣的,0為grayimage,但是color=1,而且顯示時候也不是彩色的,這和matlab的imread有很大區別
grayimage = cv2.imread('/Users/zhangdebin/Documents/checkoutFace2.jpeg',cv2.CV_LOAD_IMAGE_GRAYSCALE);
colorimage = cv2.imread('/Users/zhangdebin/Documents/checkoutFace2.jpeg', cv2.CV_LOAD_IMAGE_COLOR)
print 'cv2.grayscale:'
print cv2.CV_LOAD_IMAGE_GRAYSCALE
print 'colr:'
print cv2.CV_LOAD_IMAGE_COLOR

cv2.grayscale:
0
colr:
1

『玖』 python tkinter怎麼用canvas實現按順序畫圖

python簡述:

Python是一種解釋型、面向對象、動態數據類型的高級程序設計語言。自從20世紀90年代初Python語言誕生至今,它逐漸被廣泛應用於處理系統管理任務和Web編程。Python[1]已經成為最受歡迎的程序設計語言之一。2011年1月,它被TIOBE編程語言排行榜評為2010年度語言。自從2004年以後,python的使用率是呈線性增長。

tkinter模塊介紹

tkinter模塊(「Tk 介面」)是Python的標准Tk GUI工具包的介面.Tk和Tkinter可以在大多數的Unix平台下使用,同樣可以應用在Windows和Macintosh系統里.,Tk8.0的後續版本可以實現本地窗口風格,並良好地運行在絕大多數平台中。

由於Tkinter是內置到python的安裝包中、只要安裝好Python之後就能import Tkinter庫、而且IDLE也是用Tkinter編寫而成、對於簡單的圖形界面Tkinter還是能應付自如。

八、顯示文字

用create_text在畫布上寫字。這個函數只需要兩個坐標(文字x和y的位置),還有一個具名參數來接受要顯示的文字。例如:

>>> from tkinter import*>>> tk = Tk()>>> canvas = Canvas(tk,width=400,height=400)>>> canvas.pack()>>> canvas.create_text(150,100,text='Happy birthday to you')

註:用tkinter只能裝入GIF圖片,也就是擴展名是.gif的圖片文件。

想要顯示其他類型的圖片,如PNG和JPG,需要用到其他的模塊,比如Python圖像庫。

十、創建基本的動畫

創建一個填了色的三角形,讓它在屏幕上橫向移動:

import timefrom tkinter import*tk = Tk()canvas = Canvas(tk,width=400,height=200)canvas.pack()canvas.create_polygon(10,10,10,60,50,35) ##創建三角形for x in range(0,60): canvas.move(1,5,0) ##把任意畫好的對象移動到把x和y坐標增加給定值的位置 tk.update() ##強制tkinter更新屏幕(重畫) time.sleep(0.05) ##讓程序休息二十分之一秒(0.05秒),然後再繼續

三角形橫向移動

延伸一下,如果想讓三角形沿對角線在屏幕上移動,我們可以第8行為:

import timefrom tkinter import*tk = Tk()canvas = Canvas(tk,width=400,height=400)canvas.pack()canvas.create_polygon(10,10,10,60,50,35) ##創建三角形for x in range(0,60): canvas.move(1,5,5) ##把任意畫好的對象移動到把x和y坐標增加給定值的位置 tk.update() ##強制tkinter更新屏幕(重畫) time.sleep(0.05) ##讓程序休息二十分之一秒(0.05秒),然後再繼續

三角形沿對角線移動

如果要讓三角形在屏幕上沿對角線回到開始的位置,要用-5,-5(在結尾處加上這段代碼)

import timefrom tkinter import*tk = Tk()canvas = Canvas(tk,width=400,height=400)canvas.pack()canvas.create_polygon(10,10,10,60,50,35) ##創建三角形for x in range(0,60): canvas.move(1,5,5) ##把任意畫好的對象移動到把x和y坐標增加給定值的位置 tk.update() ##強制tkinter更新屏幕(重畫) time.sleep(0.05) ##讓程序休息二十分之一秒(0.05秒),然後再繼續for x in range(0,60): canvas.move(1,-5,-5) tk.update() time.sleep(0.05)

對角線運動並回到初始位置

十一、讓對象對操作有反應

我們可以用「消息綁定」來讓三角形在有人按下某鍵時有反應。

要開始處理事件,我們首先要創建一個函數。當我們告訴tkinter將某個特定函數綁到(或關聯到)某個特定事件上時就完成了綁定。

換句話說,tkinter會自動調用這個函數來處理事件。

例如,要讓三角形在按下回車鍵時移動,我們可以定義這個函數:

def movetriangle(event): canvas.move(1,5,0)

這個函數只接受一個參數(event),tkinter用它來給函數傳遞關於事件的信息。現在我們用畫布canvas上的bind_all函數來告訴tkinter當特定事件發生時應該調用這個函數。代碼如下:

from tkinter import*tk = Tk()canvas = Canvas(tk,width=400,height=400)canvas.pack()canvas.create_polygon(10,10,10,60,50,35)def movetriangle(event): canvas.move(1,5,0)canvas.bind_all('<KeyPress-Return>',movetringle) ##讓tkinter監視KeyPress事件,當該事件發生時調用movetriangle函數

那麼我們如何根據按鍵的不同而改變三角形的方向呢?比如用方向鍵。

我們可以嘗試改下movetriangle函數:

def movetriangle(event): if event.keysym == 'up': canvas.move(1,0,-3) ##第一個參數使畫布上所畫的形狀的ID數字,第二個是對x(水平方向)坐標增加的值,第三個是對y(垂直方向)坐標增加的值 elif event.keysym == 'down': canvas.move(1,0,3) elif event.keysym == 'left': canvas.move(1,-3,0) else canvas.move(1,3,0)

最後代碼匯總在一起為:

from tkinter import*tk = Tk()canvas = Canvas(tk,width=400,height=400)canvas.pack()canvas.create_polygon(10,10,10,60,50,35)def movetriangle(event): if event.keysym == 'Up': canvas.move(1,0,-3) ##第一個參數使畫布上所畫的形狀的ID數字,第二個是對x(水平方向)坐標增加的值,第三個是對y(垂直方向)坐標增加的值 elif event.keysym == 'Down': canvas.move(1,0,3) elif event.keysym == 'Left': canvas.move(1,-3,0) else: canvas.move(1,3,0)canvas.bind_all('<KeyPress-Up>',movetriangle) ##讓tkinter監視KeyPress事件,當該事件發生時調用movetriangle函數canvas.bind_all('<KeyPress-Down>',movetriangle)canvas.bind_all('<KeyPress-Left>',movetriangle)canvas.bind_all('<KeyPress-Right>',movetriangle)

方向鍵控制三角形的移動

十二、更多使用ID的方法

只要用了畫布上面以create_開頭的函數,它總會返回一個ID。這個函數可以在其他的函數中使用。

如果我們修改代碼來把返回值作為一個變數保存,然後使用這個變數,那麼無論返回值是多少,這段代碼都能工作:

>>> mytriangle = canvas.create_polygon(10,10,10,60,50,35)>>> canvas.move(mytriangle,5,0)

我們可以用itemconfig來改變三角形的顏色,這需要把ID作為第一個參數:

>>> canvas.itemconfig(mytrigle,fill='bue') ##把ID為變數mytriangle中的值的對象的填充顏色改為藍色

也可以給三角形一條不同顏色的輪廓線,同樣適用ID作為第一個參數:

>>> canvas.itemconfig(mytrigle,outline='red')

總結做出了簡單的動畫。學會了如何用事件綁定來讓圖形響應按鍵,這在寫計算機游戲時很有用。在tkinter中以create開頭的函數是如何返回一個ID數字。

已經學習Python兩天,最開始是想著是通過覺得用它寫個動畫或者畫個圖形比較方便,而且界面美觀,比黑洞洞的dos窗口好多了,准備寫個程序送個一女孩作為生日禮物(去年答應好的)。經過這兩天的學習,我慢慢發覺了Python語言的優點,其最主要的就是易學,而且可以調用各種庫。

『拾』 如何將cv2處理好的圖像導入tkinter

摘要 您好,很高興為您解答,解決方案

閱讀全文

與tkinter中的cv2圖片如何繪畫相關的資料

熱點內容
怎麼裝修房子漂亮又實慧圖片 瀏覽:84
怎麼沒人說話圖片 瀏覽:967
動漫圖片很多人 瀏覽:421
女孩旗袍的圖片 瀏覽:23
男生在上廁所女生在刷牙的圖片 瀏覽:157
如何刪微信聊天圖片和視頻 瀏覽:604
男生測的圖片 瀏覽:364
電腦上如何添加圖片格式 瀏覽:99
高貴女人動漫圖片 瀏覽:480
美女什麼也沒有穿的圖片 瀏覽:584
小額貸款文字圖片 瀏覽:816
便簽如何去掉圖片 瀏覽:255
潮牌可愛圖片 瀏覽:167
雙龍銀幣價格及圖片 瀏覽:780
如何將圖片png格式轉換成jpg 瀏覽:252
淘寶簽收圖片怎麼保存 瀏覽:992
古代女生側顏真人圖片 瀏覽:792
精選網紅圖片唯美男生 瀏覽:284
動漫男孩圖片紋身 瀏覽:644
word文件咋插入身份證圖片 瀏覽:486