10.31OpenCV作业

实现图片中划线并保存

python 复制代码
import cv2

def draw_test(event,x,y,flag,param):
    global drawing
    # cv2.EVENT_LBUTTONDOWN  鼠键左键按下事件
    if event == cv2.EVENT_LBUTTONDOWN:
        drawing = True
    # cv2.EVENT_MOUSEMOVE  鼠键左键移动事件
    elif event == cv2.EVENT_MOUSEMOVE:
        if drawing:
            cv2.circle(img,(x,y),15,(255,0,0),-1)

    #cv2.EVENT_LBUTTONUP  鼠键左键释放事件
    elif event == cv2.EVENT_LBUTTONUP:
        drawing = False
        cv2.circle(img, (x, y), 15, (255, 0, 0), -1)

img= cv2.imread('images/car.png')
cv2.namedWindow('image')

cv2.setMouseCallback('image', draw_test)
# 真正的标志,表示是否正在绘制
drawing = False
while(True):
    cv2.imshow('image', img)
    if cv2.waitKey(20) == 115:
        rs = cv2.imwrite("save_image/car1.png", img)
    if cv2.waitKey(20) == 27:  # 按ESC退出
        break
cv2.destroyAllWindows()

实现摄像头捕捉和文本显示且鼠标点击文本中的数字加一

python 复制代码
import cv2
from PIL import Image, ImageDraw, ImageFont
import numpy as np

def put_text(image, text, position, font_path, font_size, color):
    pil_image = Image.fromarray(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
    draw = ImageDraw.Draw(pil_image)
    font = ImageFont.truetype(font_path, font_size)
    draw.text(position, text, fill=color, font=font)
    image_with_text = cv2.cvtColor(np.array(pil_image), cv2.COLOR_RGB2BGR)
    return image_with_text

cap = cv2.VideoCapture(0)
cv2.namedWindow("name", cv2.WINDOW_NORMAL)
cv2.resizeWindow("name", 500, 300)

rocket_count = 0

def draw_test(event, x, y, flags, param):
    global rocket_count
    if event == cv2.EVENT_LBUTTONDOWN:
        rocket_count += 1

cv2.setMouseCallback("name", draw_test)

while True:
    ret, frame = cap.read()
    if ret:
        text = f"老铁们,火箭刷起来,你已刷个{rocket_count}火箭"
        position = (0, 50)
        font_path = "simhei.ttf"
        font_size = 25

        color = (255, 0, 0)
        frame = put_text(frame, text, position, font_path, font_size, color)

        cv2.imshow("name", frame)

    if cv2.waitKey(20) == 27:
        break

cap.release()
cv2.destroyAllWindows()
相关推荐
九亿AI算法优化工作室&15 分钟前
结合大语言模型的机械臂抓取操作学习
人工智能·学习·语言模型·自然语言处理
kaamelai15 分钟前
Kaamel视角下的MCP安全最佳实践
大数据·人工智能·安全
我要学脑机19 分钟前
基于常微分方程的神经网络(Neural ODE)
人工智能·深度学习·神经网络
有颜有货30 分钟前
2025汽车制造企业数字化转型路径参考
人工智能·汽车·制造·数字化转型
阿星AI工作室33 分钟前
小白也能用AI开发「小红书自动归档多维表格」采集神器,躺平整理笔记真香
人工智能
云天徽上34 分钟前
【数据可视化-42】杂货库存数据集可视化分析
人工智能·机器学习·信息可视化·数据挖掘·数据分析
大模型真好玩37 分钟前
初学者必看大模型微调指南:Unsloth官方微调技巧大公开!
人工智能·python
自由随风飘1 小时前
机器学习第三篇 模型评估(交叉验证)
人工智能·机器学习
vocal1 小时前
谷歌第七版Prompt Engineering—第三部分
人工智能·后端
ConardLi1 小时前
要给大家泼盆冷水了,使用 MCP 绝对不容忽视的一个问题!
前端·人工智能·后端