在图片上绘制图形和添加文字

使用opencv读取图片,在图片上绘制线条、矩形、圆、多边形和添加文字

1、画线

#!/usr/bin/python3
# -*- coding:utf-8 -*-

import cv2
import numpy as np

# 读取一张图片
img = cv2.imread(‘img.jpg‘,cv2.IMREAD_COLOR)

#画线  , 目标,起始坐标,终点坐标,颜色,线宽
cv2.line(img,(10,10),(200,100),(255,255,255),5)
#画矩形 , 目标,左上角坐标,高宽,颜色,线宽
cv2.rectangle(img,(50,40),(100,100),(0,0,255),10)
#画圆, 目标,圆心坐标,半径,颜色,填充圆
cv2.circle(img,(130,60),30,(0,255,0),-1)
#画多边形
pts = np.array([[10,5],[20,30],[70,20],[50,10]],np.int32)
pts=pts.reshape((-1,1,2))
cv2.polylines(img,[pts],True,(0,255,255,2))
#添加文字  目标,文字,左上角坐标,字体,字体大小,颜色,线宽
font = cv2.FONT_HERSHEP_SIMPLEX
cv2.putText(img,‘Opencv!‘,(20,200),font,1,(255,0,0),2)

#保存图像
cv2.imwrite(‘img_back.jpg‘,img)

cv2.destroyAllWindows()

 效果如下:

原文地址:https://www.cnblogs.com/lw77/p/11963825.html

时间: 2024-12-14 07:37:53

在图片上绘制图形和添加文字的相关文章

使用ImageMagick 在图片上绘制粗斜体的中文也许是一个错误。

测试发现: ImageMagick使用中文字体,在图片上绘制带粗或斜体的中文,看不到效果. 如果使用英文字体,绘制粗或斜体的英文,99%都有效果. 今天无意看到一篇文章提到: convert -list font 获得系统目前拥有的字体的列表,其中glyphs一项是字体的文件. 试了一下,果然能列出所有的字体. 但和windows的字体选择对话框一对比,郁闷了. 比如windows的字体选择对话框里显示“宋体”和“新宋体”. 但在 convert -list font 列出来的是: Font: 

canvas 元素用于在网页上绘制图形。

什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以及添加图像的方法. 创建 Canvas 元素 向 HTML5 页面添加 canvas 元素. 规定元素的 id.宽度和高度: <canvas id="myCanvas" width="200" height="100"></canv

Android开发经验之在图片上随意点击移动文字

只要在图片范围之内,文字可随意点击移动. [java] view plain copy package xiaosi.GetTextImage; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; impo

ASP.NET图片上传,加水印文字和水印图片!

看了清清月儿的这篇文章让自己受益匪浅,但是觉得还有一些问题.上传图片后还有原来的图片文件存在,觉得这样很不爽,调用file类的delete方法删除原来没有生成水印的图片另外自己又加了一个限制图片大小的函数 1.最简单的单文件上传(没花头) 效果图:说明:这是最基本的文件上传,在asp.net1.x中没有这个FileUpload控件,只有html的上传控件,那时候要把html控件转化为服务器控件,很不好用.其实所有文件上传的美丽效果都是从这个FileUpload控件衍生,第一个例子虽然简单却是根本

Css 梯形图形 并添加文字

HTML页面的代码: <body> <div style="width:500px;border:solid 1px #ccc;"> <div> <div></div> <div class="trapezoid"></div> <div id="tranFont">即将推出</div> <h1>题目</h1> &l

VC 在桌面上绘制一些图形

注意:这是在桌面上绘制图形.如果想在VC++ MFC工程的视窗口上绘制图形.可以这么来,在工程View类的一个菜单响应(或者鼠标单击等事件的的响应)函数中添加下面main 中的代码,只需要将“红色字体”的改正为“hWnd”或者“this”.读者可以试一下. #include<windows.h>int main( void ){     HDC hdc = GetWindowDC(GetDesktopWindow());  // 获取一个可供画图的DC,我这里就直接用桌面算了 HPEN hpe

CSS实现文字半透明显示在图片上方法

CSS实现文字半透明显示在图片上方法 在css中文字半透明我们会需要使用滤镜效果也就是css中的filter:alpha来实现了,下面来看两个文字显示在图片上并且半透明的例子. CSS让一行文字显示在图片的底部,用来说明图片的内容,当作图片标题,标题文字和背景可以设置半透明,鼠标经过图片时边框换色. 代码预览 代码如下 复制代码 <head> <meta http-equiv="Content-Type" content="text/html; charse

html5 Canvas绘制图形入门详解

html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome.Opera.Safari.IE9+)都已经开始支持html5了.除此之外,在移动浏览器市场上,众多的移动浏览器也纷纷展开关于「html5的支持能力以及性能表现」的军备竞赛.html作为革命性的网页技术标准,再加上众多浏览器厂商或组织的鼎力支持,可以想见,html5将会成为未来网页技术的领头羊. ht

HTML5—canvas绘制图形(1)

1.canvas基础知识 canvas元素是HTML5中新增的一个重要的元素,专门用来绘制图形,不过canvas本身不具备画图的能力,在页面中放置了canvas元素,就相当于在页面中放置了一块矩形的“画布”,我们可以利用js脚本在“画布”上绘制图形. 1.1canvas元素 在利用canvas绘制图形之前,我们首先需要在页面中放置一个canvas元素,如下代码: <canvas id="mycanvas" width="400" height="40