关闭

Python下opencv使用笔记(二)(简单几何图像绘制)

标签: pythonopencv几何图像
15006人阅读 评论(0) 收藏 举报
分类:

简单几何图像一般包括点、直线、矩阵、圆、椭圆、多边形等等。首先认识一下opencv对像素点的定义。图像的一个像素点有1或者3个值,对灰度图像有一个灰度值,对彩色图像有3个值组成一个像素值,他们表现出不同的颜色。
那么有了点才能组成各种多边形。

(一)首先绘制直线

函数为:cv2.line(img,Point pt1,Point pt2,color,thickness=1,line_type=8 shift=0)
有值的代表有默认值,不用给也行。可以看到这个函数主要接受参数为两个点的坐标,线的颜色(彩色图像的话颜色就是一个1*3的数组)如下:

import cv2
import numpy as np
from matplotlib import pyplot as plt
img = np.zeros((512,512),np.uint8)#生成一个空灰度图像
cv2.line(img,(0,0),(511,511),255,5)
plt.imshow(img,'gray')

这里写图片描述

import cv2
import numpy as np
from matplotlib import pyplot as plt
img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像
cv2.line(img,(0,0),(511,511),(155,155,155),5)
plt.imshow(img,'brg')

这里写图片描述

(二)绘制矩形

函数:cv2.rectangle(img,(380,0),(511,111),(255,0,0),3),需要确定的就是矩形的两个点(左上角与右下角),颜色,线的类型(不设置就默认)。
比如:

import cv2
import numpy as np
from matplotlib import pyplot as plt
img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像
cv2.rectangle(img,(20,20),(411,411),(55,255,155),5)
plt.imshow(img,'brg')

这里写图片描述

(三)绘制圆形

绘制圆形也很简单,只需要确定圆心与半径,函数:
cv2.circle (img,(380,0),63,(255,0,0),3),比如:

import cv2
import numpy as np
from matplotlib import pyplot as plt
img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像
cv2.circle(img,(200,200),50,(55,255,155),1)#修改最后一个参数
plt.imshow(img,'brg')

这里写图片描述

import cv2
import numpy as np
from matplotlib import pyplot as plt
img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像
cv2.circle(img,(200,200),50,(55,255,155),8)#修改最后一个参数
plt.imshow(img,'brg')

这里写图片描述

(四)绘制椭圆

椭圆比较复杂,涉及到长轴短轴,椭圆圆心,旋转角度等等,看看opencv参考手册上的介绍吧:
这里写图片描述
图像化如下:
这里写图片描述
一个例子如下:

import cv2
import numpy as np
from matplotlib import pyplot as plt
img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像
cv2.ellipse(img,(256,256),(150,100),0,0,180,250,-1)
#注意最后一个参数-1,表示对图像进行填充,默认是不填充的,如果去掉,只有椭圆轮廓了
plt.imshow(img,'brg')

这里写图片描述

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

openCV 画矩形框或填充矩形

#include "stdafx.h" #include #include #include "cv.h" #include "highgui.h" using namespace cv...
  • yanglong890124
  • yanglong890124
  • 2014-06-06 23:53
  • 21285

python opencv 绘制简单图形

本节实现的是使用OpenCV里自带的函数,绘制直线、长方形、圆形和椭圆。 - 绘制直线 - 绘制长方形 - 绘制圆形 - 绘制椭圆 - 添加文字
  • huanglu_thu13
  • huanglu_thu13
  • 2016-08-27 23:02
  • 2401

3 用python进行OpenCV实战之画图(直线,矩形,圆形)

前言在上一节我们通过使用NumPy的数组分割成功的在我们的图像上画了一个绿色的方块,但是如果我们想画一个单一的线条或者圆圈该怎么办呢?NumPy没有提供相关的功能,但是OpenCV提供了相关的函数,在...
  • u014265347
  • u014265347
  • 2017-08-20 22:18
  • 1305

使用 python matplotlib 画矩形

1、绘制矩形python matplotlib 绘制矩形,简单的几行代码就可以实现,简单易懂,方便利用。# -*- coding: utf-8 -*- """ Created on Thu Aug 1...
  • Eddy_zheng
  • Eddy_zheng
  • 2016-08-11 18:26
  • 7324

Python画矩形和圆形

import tkinter; if __name__ == '__main__': from tkinter import * root = Tk() root.titl...
  • zhuhai__yizhi
  • zhuhai__yizhi
  • 2017-08-28 16:58
  • 385

Opencv感兴趣区域复制,画点,画线方法总结

今天做的东西用到了Opencv的几个功能,下面对他们依次进行总结。 (1)Opencv对感兴趣区域的复制 具体是这样的,我想把两张图像进行拼接成一幅图像,很容易想象到的方法就是先创建一幅大的图像(高度...
  • lhanchao
  • lhanchao
  • 2016-08-02 21:45
  • 10430

openCV—Python(4)—— 基本绘图

一、函数简介1、zeros—构造全0矩阵函数原型:zeros(shape, dtype=None, order=’C’)shape:矩阵大小;例如:300x300;dtype:数据类型;例如:”uin...
  • jnulzl
  • jnulzl
  • 2015-07-25 15:33
  • 8993

python+opencv画图操作

#!/usr/bin/env python import numpy as np import cv2 img = np.zeros((512,512,3), np.uint8) cv2.lin...
  • szfhy
  • szfhy
  • 2016-04-07 11:26
  • 2560

Python实现Opencv图片画rectangle

今天配置了下Eclipse下的Python,做了个Opencv在图片上画rectangle的小程序: Python还不太熟悉,感觉变量用的还是不适应,之后看下有没有更好点的方式 最开始用的cv2实...
  • gjy095
  • gjy095
  • 2013-06-26 20:39
  • 3300

opencv-python中 boundingRect(cnt)以及cv2.rectangle用法

转自 http://blog.csdn.net/zhangxb35/article/details/47275277 矩形边框(Bounding Rectangle)是说,用一个最小的矩形,...
  • hjxu2016
  • hjxu2016
  • 2017-09-04 10:41
  • 4599
    个人资料
    • 访问:697007次
    • 积分:7438
    • 等级:
    • 排名:第3429名
    • 原创:94篇
    • 转载:4篇
    • 译文:27篇
    • 评论:731条
    个人简介
    武汉 华中科技大学; 关注:图像处理、计算机视觉、人工智能、机器学习等领域;
    微信公众号
    最新评论