OpenCv-python 基本画图操作

之前整理过怎样使用OpenCv调用笔记本摄像头的笔记点击,今天整理一下怎样用OpenCv里的函数去画图像。
要想使用OpenCv作图就要熟悉OpenCv中有哪些画图的函数,接下来就要介绍几个画图常用的函数:
1.画一条直线,一个矩形,一个圆形:
import numpy as np
import numpy as np
import cv2
#创建一个黑色的图框,uint8是线条的类型,8连接
img=np.zeros((512,512,3),np.uint8)
img=cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1)
#在窗口展示图形
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2""":param 无:return 无功能:画直线,矩形,圆形"""""#创建一个黑色的图框,uint8是线条的类型,8连接img=np.zeros((512,512,3),np.uint8)#画一个蓝色的线条,(0,0)代表起点,(511,511)代表终点,(255,0,0)代表图形的颜色为蓝色,5代表线条的粗细img=cv2.line(img,(0,0),(511,511),(255,0,0),5)#画一个矩形img=cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)#画一个圆形,-1圆形内填充颜色。img=cv2.circle(img,(447,63),63,(255,255,0),-2)#在窗口展示图形cv2.imshow("image",img)cv2.waitKey(0)cv2.destroyAllWindows()

2.画椭圆,画椭圆的参数比较多:一个参数是中心点的位置坐标,下一个参数是长轴和短轴的长度。起始角,终止角起止角和终止角(顺时针方向)决定了椭圆的扇形。
import numpy as np
import cv2
#创建一个黑色的图框,uint8是线条的类型,8连接
img=np.zeros((512,512,3),np.uint8)
img=cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1)
#在窗口展示图形
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
3.画多边形,使用到函数polylines()函数:
import numpy as np
import cv2
"""
函数polylines()
功能:画多边形
画多边形,需要指点每个顶点的坐标,,用这些点的坐标构建一个大小等于行数X1,X2
的数组,行数就是点的数目。这个数组的数据类型必须是int32
这里画一个黄色的具有四个顶点的多边形。
"""
#画多边形
pts=np.array([[10,5],[20,30],[70,20],[50,10]],np.int32)
#reshape的第一个参数为-1,表明这一维度是根据后边算出来的
pts.reshape((-1,1,2))
cv2.polylines(img,[pts],True,(0,255,255))
#在窗口展示图形
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

图像展示如图:

4.通过putText()函数给图片添加文字:
import numpy as np
import cv2
img=np.zeros((512,512,3),np.uint8)
"""
函数:putText()
功能:在图片上添加文字
params:
    要绘制的文字
    要绘制的位置
    字体类型
    字体的大小
    文字的一般属性,如颜色,粗细,线条的类型
"""
#在图像上绘制白色的opencv
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,"OpenCv",(10,500),font,4,(255,255,255),2)
#在窗口展示图形
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

### 回答1: 在 Python 中使用 tkinter 库可以很容易地创建图形用户界面 (GUI) 应用程序。要在 tkinter 中移动图片,你需要使用 PhotoImage 类加载图像,然后使用 Canvas 类将图像绘制到画布上。然后,你可以使用 Canvas 类的 move 方法来移动图像。 下面是一个示例代码,展示了如何在 tkinter 中加载图像并使用 Canvas 类的 move 方法移动图像: ```python import tkinter as tk # 创建主窗口 root = tk.Tk() # 加载图像 image = tk.PhotoImage(file='image.png') # 创建画布 canvas = tk.Canvas(root, width=200, height=100) canvas.pack() # 在画布上绘制图像 canvas.create_image(0, 0, anchor=tk.NW, image=image) # 使用 Canvas 类的 move 方法移动图像 canvas.move(1, 50, 50) # 启动主事件循环 root.mainloop() ``` 上面的代码首先加载了一张名为 `image.png` 的图像,然后创建了一个画布,并在画布上绘制了图像。接下来,使用 Canvas 类的 move 方法将图像向右移动 50 个像素,向下移动 50 个像素。 注意,在使用 Canvas 类的 move 方法移动图像时,需要指定图像的编号(即绘制图像时返回的对象的 ID)。在上面的代码中,编号为 1 的图 ### 回答2: 在Python中,使用Tkinter库可以创建图形用户界面(GUI)。要移动图片,可以使用Tkinter库中的Canvas小部件。 首先,导入必要的库: ```python import tkinter as tk ``` 接下来,创建一个窗口和画布: ```python root = tk.Tk() canvas = tk.Canvas(root, width=400, height=400) canvas.pack() ``` 然后,加载图片并创建一个图像对象: ```python image = tk.PhotoImage(file="image.png") image_obj = canvas.create_image(200, 200, image=image) ``` 要移动图片,可以使用Canvas对象的move()方法。例如,将图片向右移动50个单位: ```python canvas.move(image_obj, 50, 0) ``` 如果想要通过用户输入来移动图片,可以创建一个控件(例如按钮或键盘事件),用于触发移动操作。下面是一个示例,当用户点击按钮时,图片向右移动50个单位: ```python def move_image(): canvas.move(image_obj, 50, 0) button = tk.Button(root, text="移动图片", command=move_image) button.pack() ``` 最后,运行应用程序的主事件循环: ```python root.mainloop() ``` 这是一个简单的示例,展示了如何使用Python的Tkinter库移动图片。你可以根据自己的需要进一步扩展和改进这个基础示例。 ### 回答3: 使用Python的Tkinter模块可以轻松地在图形界面中移动图片。 首先,我们需要导入Tkinter模块,并创建一个窗口实例。 ```python import tkinter as tk window = tk.Tk() ``` 然后,我们可以使用Tkinter的Canvas小部件创建一个画布,并在画布上放置图片。 ```python canvas = tk.Canvas(window, width=400, height=400) canvas.pack() image = tk.PhotoImage(file="image.png") canvas_image = canvas.create_image(200, 200, image=image) ``` 接下来,我们可以设置一个鼠标事件函数来捕捉鼠标移动的坐标。 ```python def move_image(event): canvas.coords(canvas_image, event.x, event.y) canvas.bind("<B1-Motion>", move_image) ``` 最后,我们需要启动窗口的事件循环,以便响应用户的输入。 ```python window.mainloop() ``` 完整的代码如下所示: ```python import tkinter as tk def move_image(event): canvas.coords(canvas_image, event.x, event.y) window = tk.Tk() canvas = tk.Canvas(window, width=400, height=400) canvas.pack() image = tk.PhotoImage(file="image.png") canvas_image = canvas.create_image(200, 200, image=image) canvas.bind("<B1-Motion>", move_image) window.mainloop() ``` 这样,当你拖动鼠标时,图片将随着鼠标的移动移动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值