python3 使用opencv 画基本图形
在Python3 环境下安装opencv-python 后练习画基本图形:
import numpy as np
import cv2 # BGR format
GREEN = (0, 255, 0)
RED = (0, 0, 255)
BLUE = (255, 0, 0)
WHITE = (255,255,255) canvas = np.zeros((300,300,3), dtype = "uint8")
# 画线,框,⚪
cv2.line(canvas,(0,0), (300,300), GREEN, 2)
# cv2.imshow("Canvas", canvas)
cv2.rectangle(canvas,(10,10), (60,60),GREEN, 1)
cv2.rectangle(canvas,(300,0), (0,300),RED,5)
cv2.rectangle(canvas, (200,55), (55,200), BLUE, -1)
(cx, cy) = (canvas.shape[1]/2, canvas.shape[0]/2)
for r in range(0, 200, 25):
print(cx,cy,r)
cv2.circle(canvas, (int(cx), int(cy)), r, WHITE) cv2.imshow('Canvas', canvas)
cv2.waitKey(0) canvas = np.zeros((300,300,3), dtype = "uint8")
# 随机画⚪
for i in range(0, 25):
r = np.random.randint(5, 200)
color = np.random.randint(0, high = 256, size = (3,)).tolist()
pt = np.random.randint(0, high = 300, size = (2,))
print(r)
print("*" * 25)
print(color)
print("*" * 25)
print(pt)
cv2.circle(canvas, tuple(pt), r, color, -1) cv2.imshow("Canvas", canvas)
cv2.waitKey(0)
运行后可看到以下效果.


python3 使用opencv 画基本图形的更多相关文章
- 学习OpenCV——用OpenCv画漫画
闲的时候用OpenCV画漫画也挺有意思,虽然效果不好(达不到上面所实现的效果), 参数需要调整,还是大头贴而且噪声小的图像比较合适 而且可以熟悉一下关于各种滤波的操作比如:双边滤波: #include ...
- 放肆的使用UIBezierPath和CAShapeLayer画各种图形
CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形,当然,你也可以使用其他方式来画,随你. 杂谈 在 CAShapeLayer 中,也可以像 CAL ...
- 使用UIBezierPath和CAShapeLayer画各种图形
转载自:http://www.cocoachina.com/ios/20160214/15251.html CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画 ...
- iOS-CGContextRef画各种图形例子
iOS-CGContextRef画各种图形例子 绘制效果图 绘制代码 - (void)drawRect:(CGRect)rect { //一个不透明类型的Quartz 2D绘画环境,相当于一个画布,你 ...
- Java界面编程-建立一个可以画出图形的简单框架
引子:总共使用3个.java文件,建立一个简单界面编程的框架. 第1个文件:NotHelloWorldComponent.java //NotHelloWorldComponent.java 1 im ...
- python3配置 opencv
python3配置 opencv 本文适用于windows 64位系统 下的Python3.5.python3.5.pip为必备前提. 配置过程: 第一步:打开cmd命令行窗口 第二步:输入pip指令 ...
- 用CSS画基本图形
用CSS画基本图形 1.正方形 代码如下: #square { width: 100px; height: 100px; background: red; } 2.长方形 代码如下: #recta ...
- iOS 使用UIBezierPath和CAShapeLayer画各种图形
CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形,当然,你也可以使用其他方式来画,随你. 杂谈 在 CAShapeLayer 中,也可以像 CAL ...
- OpenCV:Python3使用OpenCV
Python3使用OpenCV安装过程应该是这样的,参考:http://blog.csdn.net/lixintong1992/article/details/61617025 ,使用conda ...
随机推荐
- C++中的自动存储、静态存储和动态存储
根据用于分配内存的方法,C++中有3中管理数据内存的方式:自动存储.静态存储和动态存储(有时也叫做自由存储空间或堆).在存在是间的长短方面,以这三种方式分配的数据对象各不相同.下面简要介绍这三种类型( ...
- $("#btn").click(function(){ });只有在页面加载的时候才会有效触发
例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title& ...
- [LeetCode] Maximum Subarray Sum
Dynamic Programming There is a nice introduction to the DP algorithm in this Wikipedia article. The ...
- JavaIo编程基础复习
什么是Io io是指Input和Output,指输入和输出 Input是指外部读入数据到内存,例如读取一个文件,或者从网络中读取 Output是指把内存中的数据输出到外部,例如写文件,输出到网络 什么 ...
- 后端UI框架
BootStrap EasyUI DWZ ExtJS
- Spark源码分析 – Executor
ExecutorBackend 很简单的接口 package org.apache.spark.executor /** * A pluggable interface used by the Exe ...
- 前端框架之SweetAlert
简介 SweetAlert是一款很好用的弹出框框架 下载 点我下载 导入 博主用的是bootstrap-sweetalert,所以要依赖bootstrap,导入前先导入原生jQuery以及bootst ...
- git学习------> Gitlab如何进行备份恢复与迁移?
前段时间,在某台CenterOS服务器上搭建了Gitlab环境,并且大家陆陆续续的都把代码从svn迁移到了gitlab,但是之前的CenterOS服务器并不是搭建在公司的机房环境,而是搭建在办公室的某 ...
- rabbitMQ基本概念
一.网页登录方法 http://127.0.0.1:15672/ 用户名和密码默认为guest/guest 用java代码去连接rabbitmq用的端口是5672 二.rabbitMQ基本概念 Rab ...
- lock,Monitor,Mutex的区别
lock和Monitor的区别 一.lock的底层本身是Monitor来实现的,所以Monitor可以实现lock的所有功能. 二.Monitor有TryEnter的功能,可以防止出现死锁的问题,lo ...