简单的python画图代码_python opencv如何实现简易画图板 python opencv实现简易画图板代码...

python opencv如何实现简易画图板?本篇文章小编给大家分享一下python opencv实现简易画图板代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

代码如下:

# -*- coding: utf-8 -*-

"""

Created on Sat May 19 17:34:54 2018

@author: xxx

"""

import cv2 as cv

import numpy as np

def nothing(x):

pass

# 当鼠标按下时变为 True

drawing = False

# 如果 mode 为 True 绘制矩形。按下 'm' 变成绘制曲线

mode = True

ix, iy = -1, -1

#创建回调函数

def draw_circle(event, x, y, flags, param):

r = cv.getTrackbarPos('R', 'image')

g = cv.getTrackbarPos('G', 'image')

b = cv.getTrackbarPos('B', 'image')

color = (b, g, r)

global ix, iy, drawing, mode

# 当按下左键是返回起始位置坐标

if event == cv.EVENT_LBUTTONDOWN:

drawing = True

ix, iy = x, y

# 当鼠标左键按下并移动是绘制图形。event 可以查看移动, flag 查看是否按下

elif event == cv.EVENT_MOUSEMOVE and flags == cv.EVENT_FLAG_LBUTTON:

if drawing == True:

if mode == True:

cv.rectangle(img, (ix, iy), (x, y), color, -1)

else:

# 绘制圆圈,小圆点连在一起就成了线,3代表画笔的粗细

cv.circle(img, (ix, iy), 3, color, -1)

# 下面注释的代码是起始点为圆心,起点到终点为半径

# r = int(np.sqrt((x - ix)**2 + (y - iy)**2))

# cv.circle(img, (x, y), r, (0, 0, 255), -1)

# 当鼠标松开停止绘画

elif event == cv.EVENT_LBUTTONUP:

drawing == False

# if mode == True:

# cv.rectangle(img, (ix, iy), (x, y), (0, 255, 0), -1)

# else:

# cv.circle(img, (x, y), 5, (0, 0, 255), -1)

#创建一幅黑色图形

img = np.zeros((512, 512, 3), np.uint8)

cv.namedWindow('image')

cv.createTrackbar('R', 'image', 0, 255, nothing)

cv.createTrackbar('G', 'image', 0, 255, nothing)

cv.createTrackbar('B', 'image', 0, 255, nothing)

cv.setMouseCallback('image', draw_circle)

while(1):

cv.imshow('image', img)

k = cv.waitKey(1)&0xFF

if k == ord('m'):

mode = not mode

elif k==27:

break

cv.destroyAllWindow()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 添加inotify扩展,php inotify 扩展的安装

一、安装1) 从内核和目录里面查看是否支持inotify[rootnfs01 ~]# uname -r2.6.32-573.el6.x86_64[rootnfs01 ~]#** ls -l /proc/sys/fs/inotify/** -→主要查看下面有没有三个目录总用量 0-rw-r--r-- 1 root root 0 1月 21 13:03 max_queued_events-rw-r--r-- 1 root root…

简述python执行原理_Python程序的执行原理(1)(2)

Python程序的执行原理(1)(2) 1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行。 2. 字节码 字节码在Python虚拟机程序…

matlab求RMSECV,CARS 用于matlab模式识别(分类和回归)的特征变量提取方法 联合开发网 - pudn.com...

CARS所属分类:Windows编程开发工具:matlab文件大小:3605KB下载次数:56上传日期:2018-07-01 12:19:16上 传 者:寒121说明: 用于matlab模式识别(分类和回归)的特征变量提取方法,竞争性…

python计算时间装饰器_python 写一个计算运行时间的装饰器

面试题之中的一个。 写一个装饰器wraps,它接收一个參数t。假设函数运行时间超过1秒,输出“bad”,否则输出“goods”。 首先,计算函数的运行时间: import time start time.clock() for i in range(1000000): pass end …

python文本特征选择,机器学习--特征选择(Python实现)

特征选择就是从原始特征中选取一些最有效的特征来降低维度,,提高模型泛化能力减低过拟合的过程,主要目的是剔除掉无关特征和冗余特征,选出最优特征子集;常见的特征选择方法可以分为3类:过滤式(filter)、包裹式(wrapper…

用python画风车_python接口自动化()一)(实现一款简单的接口自动化框架)

python接口自动化一(设计一款自己的接口自动化框架) 一、起因: 前面学习过了python接口requests来进行接口测试,但是在框架选择上还是选择的unittest。当接口数量不怎么多时还好,但是当接口的量上去了,一切…

系统新模块增加需要哪些步骤_防锈高效型干式地暖模块解决了装修施工配合的哪些难点?...

通过前面的讲解,我们知道铝板干式地暖末端应用于地暖、辐射冷暖等系统的技术优势非常明显,即省层高、省费用、效果好、空调舒适、业主使用满意度高等,随着水泥黄沙的大幅涨价,其成本优势也突显出来,越来越多的暖通公司…

python爬取网站数据步骤_python怎么爬取数据

在学习python的过程中,学会获取网站的内容是我们必须要掌握的知识和技能,今天就分享一下爬虫的基本流程,只有了解了过程,我们再慢慢一步步的去掌握它所包含的知识Python网络爬虫大概需要以下几个步骤: 一、获取网站的地…

matlab chan算法定位,MATLAB实现基于Chan氏算法的三维TDOA定位

% 功能:基于chan算法的TDOA三维定位function [zp] Chan_3(Noise,MS)%基站数目BSN 7;%基站位置,每一列为一个基站位置BS [0, 2*sqrt(3), -2*sqrt(3), sqrt(3), -sqrt(3), -sqrt(3), sqrt(3);0, 0, 0, 3, 3, -3, -3;0, 0, 0, 0, 2, 2, 0];%无噪声情况下BS到MS的距离…

python不能保存中文_Python 关于matplotlib无法显示中文字体的解决方法

#### 以下面的例子说明如何解决matplotlib画图中出现中文字体无法显示问题 要画出10-12点气温变化的图像from matplotlib import pyplot as plt import random x range(0,120) y [random.randint(20,35) for i in range(120)] plt.figure(figsize(20,8),dpi80) plt.plot(x,y)…

linux添加video驱动,linux下video驱动源码位置

insmod videodevinsmod pwc然后就打开/dev/video0或者video1设备从里面read出来就是图象数据至于什么格式可以用ioctl取出来luthergliethttp:~$ modprobe -l|grep video 查询内核当前支持的video模块/lib/modules/2.6.27-7-generic/kernel/drivers/video/tridentfb.ko/lib/…

Redis源码精读:字符串

文章目录 前言代码位置核心类型SDS结构获取sds字符串的元数据的宏获取字符串长度重新设置sds长度创建字符串感悟最后 前言 Redis中实现了sds(simple dynamic string)这种字符串,它比c语言标准库的char*字符串更加实用 代码位置 src/sdc.h …

python自动化测试脚本可以测php吗_python unittest实现api自动化测试_python

这篇文章主要为大家详细介绍了python unittest实现api自动化测试的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 项目测试对于一个项目的重要性,大家应该都知道吧,写python的朋友,应该都写过自动化测试脚本。…

Linux服务器版本鼠标,安装GPM给Linux虚拟控制台提供配置鼠标支持

给你的 Linux 系统安装 GPM,这样我们就可以在虚拟控制台中配置鼠标,比如进行复制与粘贴操作。GPM 是一个守护程序,是通用鼠标的首字母的缩写,它可以帮助你配置 Linux 虚拟控制台的鼠标支持。GPM 在以下场景中特别有用:…

valgrind 内存泄漏_应用 AddressSanitizer 发现程序内存错误

应用 AddressSanitizer 发现程序内存错误作为 C/ C 工程师,在开发过程中会遇到各类问题,最常见便是内存使用问题,比如,越界,泄漏。过去常用的工具是 Valgrind,但使用 Valgrind 最大问题是它会极大地降低程序…

linux软件读取不到空间,Linux下Oracle软件、数据文件等所在的磁盘分区空间不足的解决思路...

虚拟机中的Oracle运行的久了,归档、数据文件不断增长,原来安装ORACLE的分区空间不足。此时可以重新向虚拟机增加一块硬盘,将ORACLE的数据文件或归档的目录挂载到新增加的磁盘分区上。--我这里未新增加磁盘,而是将原磁盘未划分分区…

linux qt 读系统信息,使用Qt获取系统版本

获取Windows,Mac,IOS,Android,Linux等系统版本信息。Qt 4版本可以获取到系统版本的变量或函数头文件#include 使用公有静态变量和静态方法获取Windows系统版本const WinVersion WindowsVersionWinVersion windowsVersion ()使用公…

python元组元素删除_Python3基础 通过拆分元素 把元组的数据删除

镇场诗: 诚听如来语,顿舍世间名与利。愿做地藏徒,广演是经阎浮提。 愿尽吾所学,成就一良心博客。愿诸后来人,重现智慧清净体。 ——————————————————————————————————————————…

上海建桥学院linux网络管理实验报告,上海建桥学院信息技术系《操作系统(Linux).PDF...

上海建桥学院信息技术系《操作系统(Linux).PDF上海建桥学院信息技术系《操作系统(Linux )》课程教学大纲一、课程的性质与任务(一)本课程的性质本课程主要面向信息技术系专科各专业,为专业基础课。(二)本课程的任务本课程作为主要课程体现在信息技术系专科各专业的培…

配置文件存int类型_Redis详解(五)------ redis的五大数据类型实现原理

> 本系列教程持续更新,可以微信搜索「 IT可乐 」第一时间阅读。回复《电子书》有我为大家特别筛选的书籍资料前面两篇博客,第一篇介绍了五大数据类型的基本用法,第二篇介绍了Redis底层的六种数据结构。在Redis中,并没有直接使用…